我想在XML节点中表示回车符。
我尝试过保留空白、十六进制实体
和\n,但在浏览器中查看时都没有成功。
示例
<Quote>
Alas, poor Yorick!
I knew him
</Quote>
感谢。我想在XML节点中表示回车符。
我尝试过保留空白、十六进制实体
和\n,但在浏览器中查看时都没有成功。
示例
<Quote>
Alas, poor Yorick!
I knew him
</Quote>
感谢。要在XML中插入回车符,您需要使用其字符实体
。
这是因为符合规范的XML解析器必须在解析之前将CRLF和任何未跟随LF的CR转换为单个LF。此行为在XML 1.0规范的行尾处理部分中进行了定义。
xml:space="preserve"
必须适用于所有符合标准的XML解析器。
但是请注意,在HTML中,换行只是空格,而不是一个真正的换行(在(X)HTML中使用<br />
标记表示),这可能是您所遇到的问题。
您还可以添加
和/或
来插入回车和换行符。
xml:space="preserve"
,XML解析器仍然需要在解析之前将 13 10
(和其他序列)替换为 10
。您可以输入一个CR,以便通过使用字符实体引用,例如 
来生存解析。 - binki10
/0xa
编码为字符实体。XML 可以作为文本复制/粘贴到不同的系统中。如果这样做,在某些系统上,换行符将是 CRLF,在其他系统上则是 LF 或其他字符。因此,XML 规范规定处理器应将不同类型的换行符规范化为 10
/0xa
,以确保作为文本传输的 XML 始终被解析为相同的确切值。因此,您只需要对非 10
字符进行实体化,包括 CR (U+13),CR,NEL (U+13 U+85) 和 W3C 链接中列出的其他字符。如果我误解了您的问题,请告诉我。 - binki浏览器不能可靠地显示空格。我建议使用Linux的“od”命令来查看实际内容。符合XML标准的解析器将遵守您列出的所有方法。
#
后面需要加上x
,例如ASCII字符代码10的表示为

。如果没有加上x
,使用Saxon解析器的OxygenXML会给出致命错误信息:"字符引用中的"&#"后必须紧跟着一个十进制表示。" - undefined