我有一个 XML 格式的文件(仅包含根开始和结束标记,以及根的子项)。子元素的文本元素包含 & 符号。在 XML 中,不允许使用此符号以使文档有效,当我尝试使用 Java 中的 DOM API 和 XML 解析器处理文件时,我得到了解析错误。因此,我将 & 替换为&
,并成功处理了文件:我必须提取不同纯文本文件中文本元素的值。
当我打开这些新创建的文本文件时,我希望看到&
,但是有 & 。为什么是这样?我已将文本存储在没有任何扩展名的文本文件中(我的 XML 格式的原始文件也没有 .xml 扩展名),并且无论我如何打开文件,我在新文件的文本中都只有 &:作为 txt 或 xml 文件(这些是我的 XML 编辑器中的一些选项)。究竟会发生什么?Java (?)&
会自动转换为 & 吗?还是有一些默认编码?好吧,&
代表&,我想有一些“不可见的”自动转换,但我很困惑何时以及如何发生这种情况。以下是我使用 Java 处理原始文件后收到的原始文件和提取文件的示例:
这是我的 XML 格式的“negative.review”文件:
<review>
<review_text>
I will not wear it as it is too big & looks funny on me.
</review_text>
</review>
这是我提取的文件“negative_1”:
I will not wear it as it is too big & looks funny on me.
对我来说,保留原始数据很重要(不进行任何转换/替换),所以我认为我必须处理提取的文件“negative_1”转换回&
&。如您所见,看来我不必这样做。但我不明白为什么:(。
先感谢您!