- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 SAX 解析文档,并从某些元素创建子文档,同时完全使用 SAX 处理其他元素。因此,鉴于此文档:
<DOC>
<small>
<element />
</small>
<entries>
<!-- thousands here -->
</entries>
</DOC>
我想使用 SAX ContentHandler 解析 DOC 和 DOC/entries 元素,但是当我点击 <small>
时我想创建一个仅包含 <small>
的新文档及其子项。
有没有一种简单的方法可以做到这一点,还是我必须自己手动构建 DOM?
最佳答案
一种方法是创建一个 ContentHandler
监视表明从 <small>
进入或退出的事件元素。此处理程序充当代理,并在“正常”模式下将 SAX 事件直接传递到“真实”ContentHandler
。 .
但是,当进入一个<small>
检测到元素,代理负责创建一个 TransformerHandler
(无操作,“空”转换),plumbed直到 DOMResult
. TransformerHandler
期望一个完整的、格式良好的文档会产生的所有事件;你不能立即给它发送 startElement
事件。相反,通过调用 setDocumentLocator
来模拟新文档的开头。 , startDocument
,以及关于 TransformerHandler
的其他必要事件先举例。
然后,直到<small>
结束代理检测到元素元素,所有事件都转发到此 TransformerHandler
而不是“真实的”ContentHandler
.收盘时</small>
遇到标记时,代理通过调用 endDocument
来模拟文档的结尾在 TransformerHandler
上. TransformerHandler
的结果是现在可以使用 DOM ,其中仅包含 <small />
片段。
关于java - 嵌套 SAX ContentHandlers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363325/
我正在使用 ContentHandler 来解析带有 css 样式的自定义 html。问题是 - 当我尝试使用 UL 标记解析 HTML 时,ContentHandler 行为异常。它调用 start
我正在尝试从 O'Reilly 的 Python and XML 学习 Python 的 SAX 模块。我正在尝试运行以下示例代码,但我一直收到错误消息,而且我无法弄清楚原因。 第一个文件是handl
我在 Android 上使用 XmlReader 和 DefaultHandler 编写了一个 Java SAX 解析器。 它不断增长的规模已经变得笨重,所以我想做的是将某些元素下的内容的责任委托(d
我正在使用 SAX 来解析一些 XML。假设我有以下 XML 文档: 1 2 1 2 1 2 我还有一个 Elements 类:
我想使用 SAX 解析文档,并从某些元素创建子文档,同时完全使用 SAX 处理其他元素。因此,鉴于此文档: 我想使用 S
我正在尝试使用 ContentHandler 提取 txt 文件的内容,下面是我的代码,我的文件的内容是 Sample content Sample contentSample contentSamp
我想提取某些标签内的文本,例如 , 使用 Apache Tika 从 HTML 文件中获取 等。 所以我正在写自定义ContentHandler它应该从这些标签中提取信息。 我的定制ContentH
我的情况类似于an earlier question about emitting XML .我正在分析 SAX ContentHandler 中的数据,同时将其序列化为流。我怀疑链接问题中的解决方案
我有一个 SAX ContentHandler 并想将其桥接到 StAX XMLStreamReader。这可能吗? 最佳答案 以下(未经测试的)代码应使用 XML 复制转换提供您需要的“桥梁”。 i
我是一名优秀的程序员,十分优秀!