是否有任何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(),并将其传递给某些替换方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |