Sax解析器:忽略HTML

时间:2009-12-10 13:28:50

标签: java parsing sax

我使用sax解析器来解析XML文件。它工作正常,但我不想解析<info>标记的内容,因为它包含我要保存为字符串的HTML。任何人都可以告诉我有没有办法去做这件事?。

谢谢

3 个答案:

答案 0 :(得分:2)

虽然有疑问。最好的方法是预处理流,自己在<info></info>之间转义部分。例如,您可以在输入流周围编写一个包装器来动态转换输入,这样SAX解析器获取的只是有效的XML。

答案 1 :(得分:0)

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

这不会照顾&lt; info&gt;嵌套在外部信息标签内的标签。

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
  }

答案 2 :(得分:0)

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