加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

是否有任何Java HTML解析器,其中生成的节点保留原始文本的索引?

发布时间:2020-12-14 16:43:54 所属栏目:Java 来源:网络整理
导读:我想将 HTML文档作为 XML查询(例如使用XPath),因此我需要通过某种形式的HTML清理程序传递HTML. 但是,我也想根据查询的结果对原始源字符串进行修改. 有没有一个Java HTML解析器保留原始源字符串的索引,所以我可以找到一个节点并修改原始字符串的正确部分? 干
我想将 HTML文档作为 XML查询(例如使用XPath),因此我需要通过某种形式的HTML清理程序传递HTML.

但是,我也想根据查询的结果对原始源字符串进行修改.

有没有一个Java HTML解析器保留原始源字符串的索引,所以我可以找到一个节点并修改原始字符串的正确部分?

干杯.

解决方法

这听起来像是杰里科几乎完全是你想要的.它是一个强大的HTML解析器,专门用于对源文档进行非侵入式修改.

虽然它不与DOM,SAX或StAX接口一起使用,但它具有与这些标准相似的自定义API,您应该能够很容易地将您的方法适应于这些标准,或者在任何您正在使用的任何内容之间编写适配器杰里科.例如,您可以使用Jaxen对Jericho文档进行XPath查询 – 参见this blog entry示例.

Jericho对每个元素都有begin和end属性,甚至对于元素的一部分,如标签名称甚至属性名称,所以您可以使用该信息自己编辑文档,但是Jericho真正发现的是OutputDocument类,它允许您可以通过使用与您的查询匹配的Jericho元素调用适当的方法来直接指定替换,而不必在其上显式调用getBegin()和getEnd(),并将其传递给某些替换方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读