2010-08-22 3 views
6

Ich analysiere HTML mit libxml2, benutze XPath um Elemente zu finden. Sobald ich das Element gefunden habe, nach dem ich suche, wie kann ich das HTML als eine Schnur von diesem Element erhalten (denkend, dass dieses Element viele untergeordnete Elemente hat). Bei einem Dokument:libxml2 HTML-Analyse

<html> 
    <header> 
     <title>Some document</title> 
    </header 

    <body> 
     <p id="faq"> 
      Some kind of text <a href="http://www.nowhere.com/">here</a>. 
     </p> 
    </body> 
</html> 

sagen, dass ich das body Element mit XPath abgerufen und dann erhalten die HTML-Code für das, würde Ich mag mit einer Schnur am Ende enthalten:

<body> 
    <p id="faq"> 
     Some kind of text <a href="http://www.nowhere.com/">here</a>. 
    </p> 
</body> 

Wie kann ich tun Dies?

Antwort

6

, dass der Zweck xmlNodeDump ist:

EDIT:

Wenn Sie eine xmlNodePtrnode haben, so etwas wie:

xmlBufferPtr nodeBuffer = xmlBufferCreate(); 
xmlNodeDump(nodeBuffer, doc, node, 0, 1); 
// ... Do something with nodeBuffer->content 
// When done: 
xmlBufferFree(nodeBuffer); 

Die 4. und 5. Parameter steuern Vertiefung und Formatierung.

+0

Großartig, danke! – johndoe