【发布时间】:2015-06-13 01:51:29
【问题描述】:
我有一个 XML 文件,说明它使用的是 utf-8。 当我在 VIM 中打开文件时,我看到类似
<?xml version="1.0" encoding="UTF-8"?>
<r>
<first-tag>foo</first-tag>
<second-tag>
<a-tag-nested-in-second-tag>some data</a-tag-nested-in-second-tag>
</second-tag>
...
</r>
我正在使用 Java 1.6.0_41 的 SAXParser,在使用这些数据时,解析器基本上看不到格式错误的文字并跳过它们,或者似乎将格式错误的字符视为 second-tag 的“内容”数据。
这是我使用数据的方式,
File f = ...
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
stream = new FileInputStream(f);
AbstractHandler handler = ...
parser.parse(new InputSource(stream), handler);
SAX 有没有办法将嵌套的转义 XML 数据视为真正的 XML 标记,而不仅仅是 second-tag 的原样数据?
【问题讨论】:
-
该文件要么格式错误,要么故意包含看起来像(并且可能是)XML 的数据,但对于外部文件而言不是 XML。 SAX 似乎做得完全正确。
-
感谢 Nathan,我已经编辑了我的帖子,希望能更接近我真正想问的内容。