1

背景:
我正在使用 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?知道我要做什么,我是不是倒着做这个屁股(有没有更好的方法)?

谢谢你的帮助。

4

2 回答 2

3

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

于 2011-10-12T17:31:39.807 回答
2

如果您可以确保您的 HTML 是 XHTML 兼容的,也就是说,它是一个适当的 XML 文档,那么您可以使用 XML 工具来完成这项工作。过去,我使用 XML::Twig 来完成这种类型的工作,这样会更容易一些。

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

于 2011-10-12T17:14:26.217 回答