2013-06-16 6 views
8

ich XPath bin mit in HTML-Dokument abfragen, wo folgende div wird hat Text:Correct XPath-Abfrage div inneren Text zu holen

<div class="h1">2008 Honda Accord Coupe<small> — Wuse II</small></div> 

Ich schließe nur den inneren Text des <div class="h1">2008 Honda Accord Coupe und nicht holen wollte die <small>inner text</small>

Ich mache folgende XPath-Abfrage: //div[@class='h1'], die definitiv gesamte <div>...</div> Knoten zurückgibt.

Wie kann ich Teil nur ohne <small>...</small>

dank holen

+0

Sofern Sie nicht angeben, welchen XML-Parser Sie verwenden, ist dies schwer zu sagen. Z.B. Mit SimpleXML konvertieren Sie einfach dieses Element in eine Zeichenfolge und es ist fertig. Mit DOMDocument können Sie den Textknoten abfragen, wie One Trick Pony gezeigt hat. Aber die richtige Antwort ist: Es hängt von der verwendeten Bibliothek/Parser ab. Sie sagen nicht, welche, also ist es schwer zu beantworten, weil Informationen fehlen. – hakre

Antwort

0
Getestet

Sie es wie folgt zu erreichen:

$name = trim($xpath->query('//div[@class="h1"]')->item(0)->childNodes->item(0)->nodeValue); 

var_dump($name);