编程语言
首页 > 编程语言> > java-如何使SAXParser忽略转义码

java-如何使SAXParser忽略转义码

作者:互联网

我正在编写一个Java程序来读取XML文件,实际上是一个iTunes库,它是XML plist格式.
我设法解决了这种格式引发的大多数障碍,除非遇到包含&的文本. XLM文件将该&号表示为&.而且我只能阅读&之后的文字在文字的任何特定部分.

有没有办法禁用转义码检测?我正在使用SAXParser.

解决方法:

您尝试执行的操作有些混乱.

如果您尝试解析的文件格式包含裸露的“&”字符,则它不是格式正确的XML.井号表示为格式良好的XML中的字符实体(例如& amp;).

>如果真的应该是真正的XML,那么在编写/生成文件的过程中都会出现错误.
>如果不应将其视为真实的XML(即,这些“&”号不是一个错误),那么您可能不应该尝试使用XML解析器对其进行解析.

知道了XML实际上已经正确编码,但是您没有正确使用SO标记.

看来您真正的问题是在&之前的文本,(已解码的)&以及在&安培;#38 ;.您只需要通过将文本块重新结合在一起来处理此问题.

ContentHandler.characters()的Javadoc表示:

“The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks …”.

标签:java,html-escape-characters,saxparser
来源: https://codeday.me/bug/20191012/1900266.html