How to use ESC () character in XML?

守給你的承諾、 提交于 2019-11-30 09:24:43

问题


I'm trying this:

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

But parser says:

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)

How to use it there?


回答1:


You cannot ( in XML 1.0). In XML 1.1 there is a slightly larger range of characters you can use, and the characters are expressed differently, but even then, &#27; is 'restricted' (hex it is &#x1B;) which, as far as I can tell, means that it is not valid XML, even though XML parsers should process it successfully. Note that the 'null' character (&#x00;) is never valid. Here's a Wiki article on these characters in XML

You can try forcing the XML document to XML 1.1 and see if your parser will process it successfully.... set the first line of the XML to:

<?xml version="1.1"?>

In fact, I did that, and it works:

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


来源:https://stackoverflow.com/questions/18624510/how-to-use-esc-27-character-in-xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!