Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przestrzenie nazw SimpleXML
macko90
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.08.2011

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


Jako że jestem tutaj nowy, pragnę się przywitać (IMG:style_emoticons/default/wink.gif)

Mam problem z przestrzeniami nazw w XML, mam taki pliczek

  1. <pasaz:Envelope xmlns:pasaz="http://schemas.xmlsoap.org/soap/envelope/">
  2. <pasaz:Body>
  3. <loadOffers xmlns="urn:ExportB2B">
  4. <offers>
  5. <offer>
  6. <kod>cos tam</kod>


Nie mam pojęcia jak dobrać się do "cos tam"

  1. <?php
  2.  
  3. $xml = simplexml_load_file('plik.xml');
  4.  
  5. foreach ($xml->Envelope->Body->loadOffers->offers->offer as $hs)
  6. {
  7.  
  8. echo $hs->kod;
  9.  
  10. }
  11.  
  12. ?>


Co robię źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Noidea
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Temat: parsowanie simpleXML
Go to the top of the page
+Quote Post
macko90
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.08.2011

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


Hmm, dalej nie umiem sobie poradzić, kolega ma tam trochę inny przykład

jakbym miał coś takiego

  1. <pasaz:a>cos tam</pasaz:a>
  2. <pasaz:b>cos tam</pasaz:b>
  3. <pasaz:c>cos tam</pasaz:c>


to nie byłoby problemu, ale nie mogę poradzić sobie z czymś takim

  1. <pasaz:b>
  2. <a>cos tam</a>
  3. <b>cos tam2</b>
  4. <c>cos tam3</c>
  5. </pasaz:b>
Go to the top of the page
+Quote Post
Noidea
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


  1. <?php
  2.  
  3. $xmlStr = '<root xmlns:pasaz="http://jakis.adres.url">
  4. <pasaz:bar/>
  5.  
  6. <pasaz:b>
  7. <a>cos tam</a>
  8. <b>cos tam2</b>
  9. <c>cos tam3</c>
  10. </pasaz:b>
  11.  
  12. <foo/>
  13. </root>';
  14.  
  15. $xml = simplexml_load_string( $xmlStr );
  16. $b = $xml->children( "http://jakis.adres.url" )->b->children();
  17. var_dump( $b );
  18.  
  19. echo "Lub przy użyciu XPath:<br>";
  20.  
  21. $xml->registerXPathNamespace( "pasaz", "http://jakis.adres.url" );
  22. $b = $xml->xpath( "//pasaz:b" );
  23. var_dump( $b[0] );
  24.  
  25. ?>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 23:00