我需要解析现实中的HTML文档。在大多数情况下,它们都是格式良好的,但有时(这是不可忽视的),它们会出现作为根级别具有多个兄弟的片段。
例如:
<div>one</div>
<div>two</div>
现在我使用的是带有以下解析标志的libxml2 v2.7.8:
HTML_PARSE_NOERROR | HTML_PARSE_RECOVER | HTML_PARSE_NODEFDTD | HTML_PARSE_NOIMPLIED
如果我使用上述示例来输入数据,然后从解析后的文档中提取HTML代码:
<div>one<div>two</div></div>
您可以看到,它嵌套了元素,但我的要求是不破坏HTML。另外,我希望能够在从这些片段创建的树上运行XPath表达式。在这种情况下,要获取第二个DIV,可以使用“/div[2]”。
因此,问题是是否可能解析这些类型的HTML以及如何解析?