2013-06-16 12 views
8

Używam XPath kwerendy w dokumencie HTML, tam gdzie jest następujący div zawiera tekst:Prawidłowe zapytanie XPath do pobrania div tekst wewnętrzną

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

Chciałem sprowadzić jedynie wewnętrzną tekst <div class="h1">2008 Honda Accord Coupe i nie obejmują <small>inner text</small>

Wykonuję następujące zapytanie XPath: //div[@class='h1'], który zdecydowanie zwraca cały węzeł <div>...</div>.

Jak tylko mogę sprowadzić części bez <small>...</small>

dzięki

+0

O ile nie określisz, który analizator składni XML używasz, trudno powiedzieć. Na przykład. z SimpleXML po prostu przekonwertuj ten element na ciąg znaków i gotowe. Za pomocą DOMDocument możesz wysłać zapytanie do węzła tekstowego, tak jak pokazano na przykładzie One Trick Pony. Ale prawidłowa odpowiedź brzmi: To zależy od używanej biblioteki/parsera. Nie powiesz, który z nich, więc trudno odpowiedzieć, ponieważ brakuje informacji. – hakre

Odpowiedz

0

można dostać się do niego tak:

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

var_dump($name); 
Powiązane problemy