【问题标题】:How to use ESC () character in XML?如何在 XML 中使用 ESC ( ) 字符?
【发布时间】:2013-09-04 21:59:22
【问题描述】:

我正在尝试这个:

<root>
  text: &#27;
</root>

但是解析器说:

org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 12; 
Character reference "&#27" is an invalid XML character.
  at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
  at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
  at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)

那里怎么用?

【问题讨论】:

    标签: java xml dom escaping sax


    【解决方案1】:

    你不能( in XML 1.0)。在 XML 1.1 中,您可以使用的字符范围稍大一些,characters are expressed differently,但即便如此,&amp;#27; 是“受限制的”(十六进制是 &amp;#x1B;),据我所知,这意味着它不是有效的 XML,即使 XML 解析器应该成功地处理它。请注意,“null”字符 (&amp;#x00;) 永远无效。这是Wiki article on these characters in XML

    您可以尝试将 XML 文档强制转换为 XML 1.1,看看您的解析器是否会成功处理它.... 将 XML 的第一行设置为:

    <?xml version="1.1"?>
    

    事实上,我做到了,而且效果很好:

    <?xml version="1.1"?>
    <root>&#27;</root>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-28
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多