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