2012-02-20 12 views
0

実際のHTML文書を解析する必要があります。ほとんどの場合、それらはうまく形成されますが、ルートレベルで複数の兄弟を持つフラグメントとして表示されることもあります(無視できません)。
例:私は上記の例でそれを供給し、その後、解析された文書からHTMLをダンプした場合C/C++、libxml2:HTMLフラグメントの解析

HTML_PARSE_NOERROR | HTML_PARSE_RECOVER | HTML_PARSE_NODEFDTD | HTML_PARSE_NOIMPLIED 

<div>one</div> 
<div>two</div> 

今、私は以下のパースのフラグとlibxml2のv2.7.8を使用

<div>one<div>two</div></div> 

私の要件はHTMLを壊すことはありませんが、それは要素を入れ子にしています。また、私はそのようなフラグメントから作成されたツリー上でXPath式を実行できるようにしたいと思います。この場合、2番目のDIVに移動するには '/ div [2]'を使用します。

したがって、これらの種類のHTMLを解析することが可能かどうかという疑問があります。

答えて

0

xml変換にhtmlが必要ですね。 JavaではJSoupを使用しますが、stackoverflowは確実にcで行う方法を知っています。最初のヒット:HTML to XML conversion with C++