Skocz do zawartości
kukix

[php] Odczyt Pliku Xml Za Pomoca Xmlreader()

Rekomendowane odpowiedzi

Witam.

Mam problem z odczytem pliku xml za pomoca klasy XMLReader();

 

Pod spodem zamieściłem cały kod

 

 

<?phpob_start();?><root>  <pozycja>	<wezel_1>przykladowa wartosc A</wezel_1>	<wezel_2>przykladowa wartosc B</wezel_2>	<wezel_3>przykladowa wartosc C</wezel_3>	<wezel_4>przykladowa wartosc D</wezel_4>  </pozycja>  <pozycja>	<wezel_1>przykladowa wartosc E</wezel_1>	<wezel_2>przykladowa wartosc F</wezel_2>	<wezel_3>przykladowa wartosc G</wezel_3>	<wezel_4>przykladowa wartosc H</wezel_4>  </pozycja></root><?php$xmldata = ob_get_contents();ob_end_clean();$xml = new XMLReader();$xml->XML($xmldata);while ($xml->read()) {  if ($xml->nodeType == 1 || $xml->nodeType == 3) {	print($xml->name.' - hasValue:'.$xml->hasValue.' - value:<b>'.$xml->value.'</b><br>');  }}?>

Wynik działania skryptu znajduje się tutaj.

 

Problem w tym, że chcialem orzymać wynik w postaci:

wezel_1 = przykladowa wartosc A

wezel_2 = przykladowa wartosc B

 

w jaki sposób przerobić ten kod?

 

Prosze o podpowiedź. Będe wdzięczny z wszelkie wypowiedzi.

 

------ EDIT ------

 

Chce ułożyć z tego kod SQL dodający pozycje do bazy danych (INSERT)

Edytowane przez kukix

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

"wezel_1" << nazwa node'a

"przykladowa wartosc A" << wartość node'a, a raczej tekstowy potomek node'a "wezel_1", bo tekst też jest węzłem, no i pewnie przez to kłopoty z odczytaniem. XMLReader leci sobie z węzła do węzła i wypisuje co podałeś nie rozróżniając typów (XMLReader::ELEMENT vs. XMLReader::TEXT).

 

Nie mam pomysłu jak by to zrobić linijka po linijce (a raczej nie chce mi się :Q), ale na stronie php.net jest kilka wersji funkcji xml2assoc w komentarzach. Możesz się jej przyjrzeć. Wersja najniżej na stronie tworzy fajną tablicę, wydaje mi się, że praktycznie to, czego potrzebujesz.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...