Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml] Rozróżnianie znaczników
Forum PHP.pl > Forum > XML, AJAX
slawa
Mam pewien problem. Otóż walcze z parserem do plkiów xml, i natrafiłem na coś takiego:

Jeżeli mam dokument np taki:
  1. <osoba>
  2. <imie>Jacek</imie>
  3. <nazwisko>Placek</nazwisko>
  4. <osoba/>


Chciałbym w jakis sposób rozróźnić przy pomocy funkcji dostepnych w DOM (PHP5) element nadrzędny jakim jest <osoba> od elmentu podrzędnego jakim są np <imie> czy <nazwisko>. Innymi słowy w jaki sposób sprawdzić czy dany znacznik ma pod sobą grupę znaczników czy jest ostatnim z rodziny i posiada tylko jakąś wartość? Może ma ktoś jakieś pomysły,bo moja inwencja się skończyła??
tiraeth
DOMNode->hasChildNodes() ?

Jak ty zamknąłeś znacznik <osoba> ? bo chyba powinno być </osoba>
mariuszn3
Na wszystkie tego typu bolączki idealny jest XPath, w php rozszerzenie DOM ma funkcje obsługujące zapytania XPath.
Oczywiscie pierw trzeba pół dnia albo i więcej poswięcić na zaznajomienie się z narzędziem ale naprawdę warto i generalnie jest to jedyne słuszne dedykowane narzędzie do wertowania drzewa DOM w poszukiwaniu konkretnych danych.

Polecam specyfikację XPath na stronach W3C, poza czystą specyfikacją jest tam wiele przykładów, które powinny wystarczyć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.