gpt4 book ai didi

Java XMLStreamReader 将“转换为”

转载 作者:行者123 更新时间:2023-12-02 11:19:26 27 4
gpt4 key购买 nike

假设我们有以下 XML

<Test>
<Description> &quot;Hi&quot; </Description>
</Test>

我使用 XMLStreamReader 加载此 XML 并使用读取器对象进行解析。当我使用阅读器的 getText() 打印解析时遇到的字符时,我看到 &quot;打印为“。虽然,”(双引号)不需要转义为 &quot;首先,我想知道为什么解析器在不需要转义时会自动执行此转换。例如,&lt;, &gt; and &amp;保留,否则生成的 XML 将无效。然而,&quot; and &apos; 的情况并非如此。 。我必须以收到描述的方式保存描述。是否可以使用 XMLStreamReader API 来做到这一点?

最佳答案

I have to save the description the same way I receive it.

你不应该。就 XML 而言,&quot;"是完全相同的东西,因此您是否获得其中一个对您来说并不重要。

至于为什么会发生这种情况,XML 解析器的工作就是对转义字符进行转义,以便它们向您提供它们所表示的数据。它还逃脱了 &lt;等等。但是,当将获得的文本序列化回 XML 时,序列化程序将再次转义字符,例如 <因为 XML 需要它,但它不会逃避 "因为那是没有必要的。

当您经历解析 XML,然后再次序列化的过程时,您不能有按原样“保留”转义的概念。这本质上是在转换过程中丢失的。解析器只是不负责保留这些不需要的信息。但是,如果您希望您的"总是被转义到 &quot;在生成的 XML 中,您的 XML 序列化程序可能有一个选项(您没有提供有关您正在使用的内容的详细信息,因此我无法明确告诉您是否可以。)

关于Java XMLStreamReader 将“转换为”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50038062/

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