Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> XML parsowanie simplexml
bdhpl
post 28.10.2020, 12:48:19
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 17.04.2009

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


Mam taki xml:

  1. <o id="329">
  2. <cat>
  3. Biuro i firma/Biuro/Meble biurowe/Biurka
  4. </cat>
  5. <name> BIURKO JAY OLCHA </name>
  6.  
  7. <attrs>
  8. <a name="Producent">producent</a>
  9. <a name="Kod_producenta">kod</a>
  10. </attrs>
  11. </o>



i taki php
  1. foreach($xml->children() as $child) {
  2.  
  3. // $role = $child->attributes();
  4.  
  5. foreach($child as $key) {
  6.  
  7.  
  8.  
  9. echo $key['id'];
  10. echo "<br>";
  11. echo $key->cat;
  12. echo "<br>";
  13. echo $key->name;
  14. echo "<br>";
  15. echo $key['weight'];
  16. echo "<br>";
  17. //
  18. foreach($key->imgs->children() as $imgs)
  19. {
  20. echo $imgs['url'];
  21. echo "<br>";
  22. }
  23. foreach($key->attrs->attributes() as $attrs)
  24. {
  25. echo $attrs->a;
  26. echo "<br>";
  27.  
  28.  
  29. }
  30.  
  31. }
  32. }


Jak wyciągnąc wartość producent
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kreatiff
post 28.10.2020, 21:50:21
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


No to będzie to bardziej skomplikowana pętla, z której od razu najlepiej przypisywać do zmiennych konkretne elementy i je bindować w zapytaniu do bazy.
Tutaj ogólny zarys tego jak ja to widzę tak na szybko:
  1. $xml = simplexml_load_file("plik.xml");
  2. foreach ($xml->xpath('//o') as $child) {
  3.  
  4. // strybuty elementu <o>
  5. foreach ($child->attributes() as $name => $attribute) {
  6. echo "$name: $attribute<br>";
  7. }
  8.  
  9. // kategoria
  10. echo 'cat: ' . $child->cat . '<br>';
  11.  
  12. // obrazki
  13. echo 'imgs/main: ' . $child->xpath('imgs/main')[0]->attributes()['url'] . '<br>';
  14. foreach ($child->xpath('imgs/i') as $img) {
  15. echo 'imgs/i: ' . $img->attributes()['url'] . '<br>';
  16. }
  17.  
  18. // i reszta węzłów analogicznie jak na powyższych przykładach
  19. }
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 10:40