gpt4 book ai didi

java - 如何使 SAXParser 忽略转义码

转载 作者:行者123 更新时间:2023-11-29 09:17:09 26 4
gpt4 key购买 nike

我正在编写一个 Java 程序来读取 XML 文件,实际上是一个 XML plist 格式的 iTunes 库。除了遇到包含 & 的文本外,我已经设法绕过了这种格式引发的大多数障碍。 XLM 文件将此符号表示为 &,我只能设法读取任何特定文本部分中 & 之后的文本。

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

最佳答案

您尝试做的事情有些可疑。

如果您尝试解析的文件格式只包含与号 (&) 字符,那么它不是格式正确的 XML。在格式良好的 XML 中,& 符号表示为字符实体(例如 &)。

  • 如果它真的应该是真正的 XML,那么在编写/生成文件的任何地方都存在错误。

  • 如果它不应该是真正的 XML(即那些和号不是错误),那么您可能不应该尝试使用 XML 解析器来解析它。


啊,我明白了。 XML 实际上已正确编码,但您没有获得正确的 SO 标记。

看来您真正的问题是您的 characters(...) 回调是针对 & 之前的文本单独调用的,对于(解码)&,最后是&之后的文本。您只需要通过将文本 block 重新组合在一起来处理这个问题。

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 - 如何使 SAXParser 忽略转义码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com