我如何阅读€从xml文件到java
给了我一个错误。我希望打印出来
org.xml.sax.SAXParseException; systemId: file:/C:/Users/stikkoo/Desktop/product.xml; lineNumber: 9; columnNumber: 18; The character reference must end with the ';' delimiter.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
我的XML片段:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff id="1001">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>100000</salary>
</staff>
<staff id="€;">
<firstname>low</firstname>
<lastname>yin fong</lastname>
<nickname>fong fong</nickname>
<salary>200000</salary>
</staff>
</company>
首先,€不是有效的ASCII字符。真正的ASCII是一个7位字符集,早于30年以上的€符号发明。
接下来,LATIN-1(ISO / IEC 8859-1)中也没有€。如果您需要8位ISO / IEC 8859字符集中的€,则需要使用ISO-8859-15。代码是0xA4
或164
小数。
在Unicode中,€的代码点是U+20AC
。这可以使用十六进制字符实体语法以XML编写; €
。
注意:
€
,但我更喜欢十六进制形式,因为它更好地与Unicode代码图表对齐。或者,您可以使用XML / HTML命名字符实体€
...假设您的XML解析器理解它。
最后,由于您已指定UTF-8作为XML文档的编码,因此您应该能够将文字€字符粘贴到文档中...假设您使用UTF-8识别编辑器对其进行编辑。 (但这也有缺点......)
(您可以在XML id
中使用的字符有限制,但允许使用€字符。)
对于记录,您尝试在文档中使用的€
字符实体实际上是指非打印C1控制字符。
嘿Shreya!
我认为您的xml版本可能有错误的十六进制字符。试试€
或€
。以下链接有一个巨大的文本墙,基本上描述了您的确切问题!
Link to solve all your problems :)
祝你好运!
加斯帕