我对使用pugixml解析 HTML 文档很感兴趣,但是 HTML 有一些可选的结束标签。这是一个例子:<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
Pugixml 在遇到未关闭的标签时立即停止读取 HTML,但在 HTML 中缺少关闭标签并不一定意味着开始-结束标签不匹配。
解析 pugixml 的 HTML 文档的简单测试失败,因为元标记是 HTML 文档的第二行:http: //pugixml.googlecode.com/svn/tags/latest/docs/quickstart.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>pugixml 1.0</title>
<link rel="stylesheet" href="pugixml.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="quickstart.html" title="pugixml 1.0">
</head>
<!--- etc... -->
如果我尝试使用 pugixml 解析它们,很多 HTML 文档都会失败。有没有办法避免这种情况?如果没有办法“修复”它,那么是否还有另一个与 pugixml 一样快的 HTML 解析工具?
更新
如果 HTML 解析器也支持 XPATH,那就太好了。