pugixmlを使用してHTML ドキュメントを解析することに興味がありますが、HTML にはオプションの終了タグがいくつかあります。以下に例を示します。<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
Pugixml は、閉じられていないタグに遭遇するとすぐに HTML の読み取りを停止しますが、HTML で閉じタグがないからといって、開始タグと終了タグの不一致があるとは限りません。
メタ タグが HTML ドキュメントの 2 行目にあるため、pugixml の 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 もサポートしているとよいでしょう。