Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> parser xml, zagłębianie sie
Fixus
post
Post #1





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


Witam,
mam problem. Piszę parser xml`a i zastanawiam się w jaki sposób zrobić zagnieżdząnie. Chodzi mi o to, że mogę mieć x poziomów zagnieżdżenia. Jak aplikacja ma automatycznie to robić. To znaczy nie chce pisać tyle pętli ile zagnieżdżeń tylko, żeby sam to sprawdzam czy jest zagnieżdżenie n-tego stopnia. Jak jest to wchodzi i sprawdza czy jest n+1 stopnia. Jak jest to wchodzi i tak dalej
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fixus
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


// edit
tu były głupoty, że aż mi smutno się robi dlatego już ich nie ma

pewnie istotnym faktem będzie wspomnienie, że chce wygenerować drzewo na podstawie tego xml`a (IMG:style_emoticons/default/winksmiley.jpg)

coś nie tak kumam. Korzystam z xml reader`a i mam taki kodzik

  1. $xml = new XMLReader;
  2. $xml->open('xml.xml');
  3.  
  4. $doc = new DOMDocument;
  5.  
  6. // move to the first <product /> node
  7. while ($xml->read() && $xml->name !== 'HASLO');
  8.  
  9. // now that we're at the right depth, hop to the next <product/> until the end of the tree
  10. while ($xml->name === 'HASLO')
  11. {
  12. // either one should work
  13. //$node = new SimpleXMLElement($xml->readOuterXML());
  14. $node = simplexml_import_dom($doc->importNode($xml->expand(), true));
  15.  
  16. // now you can use $node without going insane about parsing
  17. // print_r($node->HASLO);
  18.  
  19. //echo $xml->getAttribute($node->HASLO->POZIOM);
  20.  
  21. // go to next <product />
  22. $xml->next('HASLO');
  23. }


no i fajnie wyświetli całą strukturę ALE jak np. wypisać tylko 1 poziom (każdy węzel ma atrybut poziom). np. chce wyświetlić tylko z poziomu 1 wtedy musiałbym zrobić tak

  1. if($node->HASLO->HASLO['poziom'] == 1)


no i jest manufaktura.

p.s. Powtarzanie się "HASLO" jest praiwdłowe. to jedyny znacznik w tym pliku xml. haslo zawiera haslo ktory zawiera kilka haslo


Ten post edytował Fixus 17.08.2010, 12:33:56
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 23:10