在XML中是有效字符吗?

10 投票
2 回答
14076 浏览
提问于 2025-04-15 12:16

在这个数据上:

<row Id="37501" PostId="135577" Text="...uses though.&#x10;"/>

我在使用Python的sax解析器时遇到了一个错误:

xml.sax._exceptions.SAXParseException:
comments.xml:29776:332: reference to invalid character number

我把例子简化了一下;332指向的是"&#x10;"。

这个解析器拒绝这个字符是对的吗?

2 个回答

6

&#10; 是换行符,这似乎是想要表达的意思。

&#x10;&#16; 是一样的(10的十六进制表示是16的十进制),它指的是DLE(数据链路转义)字符。

DLE是一种传输控制字符,用于控制传输数据的解释方式。

15

正如其他人所说,你可能是想说 &#10;。而 &#x10;(0x10 = 10h = 16)之所以不合法,是因为它在XML 1.0标准中明确被排除了:(http://www.w3.org/TR/xml/#NT-Char)

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

撰写回答