gpt4 book ai didi

xml - 使用 SAX 解析器解析 XML 时 &(&) 之前的数据被截断

转载 作者:行者123 更新时间:2023-12-02 01:03:56 25 4
gpt4 key购买 nike

我正在使用 SAX Parser 来解析 XML。在其中一个 XML 标记中,我有类似 abc&def 的数据。在解析 XML 时,我将 & 替换为 &。但是在解析时,& 之前的所有数据都被截断了。 & 之后的所有内容都保留在截断的数据中。所以abc&def解析后会被转换为&def。有人可以告诉我发生这种情况的原因吗???

此外,我们将不胜感激克服这一问题的建议。

最佳答案

SAX 接口(interface)的定义,尤其是 ContentHandler.characters() 方法,表明解析器可以自由地将数据分成任何它喜欢的 block 。这是为了效率;这意味着它不必在通知应用程序之前将数据从 I/O 缓冲区中复制出来。解析器可以选择在何处拆分数据,但解析器在实体边界处拆分文本是很常见的。您的应用程序负责重新组装它:通常您的 characters() 方法应该将数据复制到 StringBuilder,然后您应该在到达下一个开始或结束标记时处理组装的内容。

关于xml - 使用 SAX 解析器解析 XML 时 &(&) 之前的数据被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24911210/

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