我正在使用 sax 解析器来解析 XML 文件。它工作正常,但我不想解析<info>
标签的内容,因为它包含我想保存到字符串的 HTML。谁能告诉我有什么办法可以做到这一点吗?
谢谢
虽问。最好的方法可能是预处理流,转义<info>
和</info>
你自己之间的部分。例如,您可以在输入流周围编写一个包装器,以便即时转换您的输入,这样 SAX 解析器得到的只是有效的 XML。
这是伪代码。使用前适应。使用风险自负。
这不会处理嵌套在外部 info 标记内的 <info> 标记。
init:
ignore = false;
startElement:
if (!ignore) {
if (element.name == "info") {
ignore = true;
} else {
process normally
}
}
endElement:
if (ignore) {
if (element.name == "info") {
ignore = false;
}
} else {
process normally
}
您的 XML 是否很大?如果没有 - 您可以将其全部加载到字符串中,然后使用 XPath 查询访问感兴趣的节点