I mają strukturę podobną do następującej:XPath: Wybierz węzeł, ale nie konkretne elementy potomne
<page id='1'>
<title>Page 1</title>
<page id='2'>
<title>Sub Page 1</title>
</page>
<page id='3'>
<title>Sub Page 2</title>
</page>
</page>
<page id='4'>
<title>Page 2</title>
</page>
muszę wybrać stronę przez ID, ale jeśli ta strona ma potomka strony nie chcę, aby powrócić te elementy, ale chcę inne elementy tej strony. Jeśli wybiorę Strona 1 Chcę wrócić, ale nie tytuł strony dziecko ...
//page[@id=1]
Powyższy dostaje mi strona 1, ale jak mogę wykluczyć, że podstron? Ponadto na stronie może znajdować się dowolna liczba elementów.
//page[@id=1]/*[not(self::page)]
I odkryli, że ten dostaje mi dane chcę. Jednak dane te powracają jako tablica obiektów z jednym obiektem na element i najwyraźniej wykluczają nazwy elementów ???. Korzystam z PHP SimpleXML na ile to jest warte.
Dobre pytanie, +1. Zobacz moją odpowiedź na krótkie i proste rozwiązanie. :) –
"Jednak dane powracają jako tablica obiektów z jednym obiektem na element." Czym różni się to od tego, co chcesz/potrzebujesz? – LarsH
Dane wraca w innym formacie, w zależności od zapytania xpath, otrzymuję tablicę SimpleXMLElement z jednym ciągiem w każdym i brakuje im nazwy elementów. Pierwszy przypadek zwraca pojedynczy obiekt SimpleXMLElement ze wszystkimi oczekiwanymi parami wartości klucza. Nie rozumiem dlaczego, może otworzę kolejne pytanie. – Ben