2

我正在使用 sax 解析器来解析 XML 文件。它工作正常,但我不想解析<info>标签的内容,因为它包含我想保存到字符串的 HTML。谁能告诉我有什么办法可以做到这一点吗?

谢谢

4

3 回答 3

2

虽问。最好的方法可能是预处理流,转义<info></info>你自己之间的部分。例如,您可以在输入流周围编写一个包装器,以便即时转换您的输入,这样 SAX 解析器得到的只是有效的 XML。

于 2009-12-10T13:43:43.397 回答
0

这是伪代码。使用前适应。使用风险自负。

这不会处理嵌套在外部 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
  }
于 2009-12-10T13:43:25.220 回答
0

您的 XML 是否很大?如果没有 - 您可以将其全部加载到字符串中,然后使用 XPath 查询访问感兴趣的节点

于 2009-12-10T14:03:46.683 回答