【问题标题】:ignore some XML tags in SAX忽略 SAX 中的一些 XML 标记
【发布时间】:2010-02-15 21:26:39
【问题描述】:

我正在使用 Java 中的 SAX 解析 XML 文档。
我正在使用描述不同领域研究出版物的 XML。
其中有诸如“抽象”之类的元素,简要描述了研究论文的内容。该字段允许使用基本的 HTML 格式,但我不希望 SAX 将 HTML 标签(如 i、b、u、sub、sup 等)作为真正的 XML 标签并触发 strartElement() 和 endElement( ) 事件。

有没有办法告诉 SAX 忽略一些预定义的 XML 标记集并将它们的 XML 代码 按原样 传递给 characters() 方法?

【问题讨论】:

  • 我很确定答案是否定的,但让我们看看是否有人提出了一些建议。

标签: java xml sax


【解决方案1】:

我怀疑没有,没有一些工作。当您遇到不同的元素时,我可能会插入不同的 SAX 处理程序,并将它们从堆栈中推送/弹出。因此,当您遇到<abstract> 元素时,您将插入 SAX 解析器委托给的新处理程序,并且 that 足够智能,可以根据需要处理您的 HTML 元素。恐怕不是一个简单的解决方案。

【讨论】:

  • 即使这样,我也必须将 startElement() 中传递的数据转换回 XML。我认为这会浪费时间:SAX 会将 XML 解析为 java 对象,然后我会将它们转换回 XML。无论如何我接受这个答案,因为问题是是否有这样的方法,所以答案“否”是合法的:)
猜你喜欢
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
相关资源
最近更新 更多