【发布时间】:2018-01-11 19:10:52
【问题描述】:
我希望在 xml 节点中表示回车。
我尝试了一个空白保留,十六进制实体,但没有运气-
和。通过浏览器查看。
例子
<Quote>
Alas, poor Yorick!
I knew him
</Quote>
谢谢。
【问题讨论】:
标签: xml encoding whitespace
我希望在 xml 节点中表示回车。
我尝试了一个空白保留,十六进制实体,但没有运气-
和。通过浏览器查看。
例子
<Quote>
Alas, poor Yorick!
I knew him
</Quote>
谢谢。
【问题讨论】:
标签: xml encoding whitespace
要将CR插入XML,需要使用其字符实体&#13;。
这是因为兼容的 XML 解析器必须在解析之前将 CRLF 和任何没有跟随 LF 的 CR 转换为单个 LF。此行为在 XML 1.0 规范的 End-of-Line handling 部分中定义。
【讨论】:
xml:space="preserve" 必须适用于所有兼容的 XML 解析器。
但是,请注意,在 HTML 中,换行符只是空格而不是换行符(这用 <br /> (X)HTML 标记表示,也许这就是您面临的问题。
您还可以添加 &#10; 和/或 &#13; 以插入 CR/LF 字符。
【讨论】:
xml:space="prserve",XML 解析器仍然是required to replace 13 10 (and other sequences) with 10 before parsing。您可以输入一个 CR,该 CR 旨在通过 using a character entity reference such as &#xD 进行解析。
10/0xa 编码为字符实体。 XML 可以作为文本复制/粘贴到不同的系统。如果您这样做,在某些系统上,换行符将是 CRLF,而在其他系统上,换行符将是 LF,或者在其他系统上是另一个字符。因此,XML 规范规定处理器应将不同类型的换行符标准化为10/0xa,以确保作为文本传输的 XML总是被解析为相同的确切值。因此,您只需要实体化非10 字符,包括 CR (U+13)、CR、NEL (U+13 U+85) 以及 W3C 链接中列出的其他字符。如果我误解了您的问题,请告诉我。
浏览器不会可靠地向您显示空白。我建议使用 Linux 'od' 命令来查看其中的真正内容。兼容 XML 解析器将尊重您列出的所有方法。
【讨论】: