Perl HTML :: TreeBuilder添加,以及解析内容的标签,如何停止或解决它?

时间:2011-10-12 17:05:39

标签: html perl parsing html-tree

背景:
我正在使用HTML :: TreeBuilder来解析整个html页面,说“whole_page”以供参考。然后我使用新的TreeBuilder对象的继承parse_content方法(与whole_page相同)来解析一大块html,比如“html_to_insert”。 html_to_insert的根元素应该是<div>标记。最终,需要将html_to_insert树插入到whole_page树中。

问题:
html_to_insert树包含<html><head><body>标记,我显然不需要这些标记。我查看了HTML :: Parser以查看是否有可能解决问题的参数,但我找不到任何内容。

问题:
有没有一种简单的方法可以阻止parse方法用不需要的标签包装html_to_insert?知道我想要做什么,我是否向后做这个屁股(有更好的方法)吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可能希望查看HTML::Tree中的guts方法。它仅将非隐式节点作为列表返回。

答案 1 :(得分:2)

如果您可以确保您的HTML符合XHTML标准,也就是说,它是一个合适的XML文档,您可以使用XML工具来完成这项工作。在过去,我使用XML :: Twig来完成这类工作,这样做有点容易。

当然,如果你从互联网上解析任意网页,你可能没有这种保证。