Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Importowanie z pliku XML
nexis
post
Post #1





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Aplikacja eksportuje drzewo kategorii o następującej strukturze:

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <zmiany>
  3.   <zmiana to="kategoria" typ="0" sub="1">
  4.      <pola>
  5.         <tx n="nazwa">Psy</tx>
  6.         <ref n="nadrzedna" to="</span>" />
  7.      <<span style='color:blue'>/pola>
  8.   </zmiana>
  9.   <zmiana to="kategoria" typ="0" sub="2">
  10.      <pola>
  11.         <tx n="nazwa">Jamniki</tx>
  12.         <ref n="nadrzedna" to="" sub="1" />
  13.      </pola>
  14.   </zmiana>
  15.   <zmiana to="kategoria" typ="0" sub="3">
  16.      <pola>
  17.         <tx n="nazwa">Długowłose</tx>
  18.         <ref n="nadrzedna" to="" sub="2" />
  19.      </pola>
  20.   </zmiana>
  21. </zmiany>


Co odpowiada następującej hierarchii:

  1. + Psy
  2. |--+ Jamniki
  3.    |-- Dlugowlose


Inaczej mówiąc sub to identyfikator kategorii, w znaczniku tx jest nazwa kategorii, a w znaczniku ref kategoria nadrzędna (rodzic).

Próbowałem tak:

  1. <?php
  2. $xml = file_get_contents('kategorie.xml');
  3. $domDocument = new DOMDocument;
  4. $domDocument->loadXML($xml);
  5. $domXPath = new DOMXPath($domDocument);
  6. foreach ($domXPath->query('//zmiana') as $keyDOM) {
  7.  $to = $keyDOM->hasAttribute('to')$keyDOM->getAttribute('to') : null;
  8.  $sub = $keyDOM->hasAttribute('sub') ? $keyDOM->getAttribute('sub') : null;
  9. }
  10. ?>


ale niestety wciąż nie mam dostępu do nazwy i kategorii nadrzędnej. Jakbyście to lepiej rozwiązali?

Ten post edytował nexis 14.07.2008, 19:59:17


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post

Posty w temacie
- nexis   Importowanie z pliku XML   14.07.2008, 19:57:33
- - wrzasq   czy mozna zalozyc, ze kategoria podrzedna nigdy ni...   14.07.2008, 21:22:35


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:27