Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML][PHP]parsowanie XML SimplyXML
mirobor
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 1.02.2014

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


Mój xml - fragment
  1. <oferta>
  2. <id>TY067353</id>
  3. <param nazwa="dataaktualizacji" type="text">2016-08-29 11:05:38</param>
  4. <param nazwa="wojewodztwo" type="text">Pomorskie</param>
  5. <param nazwa="dzielnica" type="text"/>Kartuzy</param>
  6. <cena waluta="PLN">59900.00</cena>
  7. </oferta>


elementy param parsuję po kolei jako $oferta->oferta->param[1], $oferta->oferta->param[2], $oferta->oferta->param[...]
Jak pobrać konkretny<param> z użyciem 'nazwy'?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


$xml->xpath('//param[@nazwa="dzielnica"]');
Go to the top of the page
+Quote Post
mirobor
post
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 1.02.2014

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


  1. <dzial><oferta>
  2. <id>TY067353</id>
  3. <param nazwa="dataaktualizacji" type="text">2016-08-29 11:05:38</param>
  4. <param nazwa="wojewodztwo" type="text">Pomorskie</param>
  5. <param nazwa="dzielnica" type="text"/>Kartuzy</param>
  6. <cena waluta="PLN">59900.00</cena>
  7. </oferta>
  8. </dzial>
  9. <dzial>
  10. <oferta>
  11. <id>TY067354</id>
  12. <param nazwa="dataaktualizacji" type="text">2016-08-19 11:05:38</param>
  13. <param nazwa="wojewodztwo" type="text">Pomorskie</param>
  14. <param nazwa="dzielnica" type="text"/>Kościerzyna</param>
  15. <cena waluta="PLN">531900.00</cena>
  16. </oferta>
  17. </dzial>


Mam problem, Jak to poprawnie wyświetlić w pętli foreach takiej jak ta:

  1.  
  2. foreach($dzial->dzial as $oferta) {
  3. $dataaktuaktualizacji = $oferta->xpath('//param[@nazwa="dataaktualizacji"]');
  4. echo $oferta->oferta->id . "<br />";
  5. echo $oferta->oferta->cena . "<br />";
  6.  
  7. }

W jaki sposób wyświetlić właściwy element tablicy: $dataaktuaktualizacji.

Ten post edytował mirobor 25.09.2016, 20:53:54
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


echo (string)$dataaktualizacji;
Go to the top of the page
+Quote Post
mirobor
post
Post #5





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 1.02.2014

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


$dataaktualizacji pobiera tablicę. W jaki sposób wyświetlić właściwy element dla danego id?
(string)$dataaktualizacji jest pusty? Nic nie wyświetla dla powyższego xml'a.


Podbijam na konkretnym przykładzie. Fragment mojego xml'a.

  1. <dzial tab="lokale" typ="sprzedaz">
  2. <oferta>
  3. <id>121</id>
  4. <param nazwa="dataaktualizacji" type="text">2016-06-07 08:48:22</param>
  5. <param nazwa="dzielnica" type="text"/>
  6. <cena waluta="PLN">1500000.00</cena>
  7. </oferta>
  8. </dzial>
  9. <dzial tab="domy" typ="sprzedaz">
  10. <oferta>
  11. <id>122</id>
  12. <param nazwa="dataaktualizacji" type="text">2016-08-19 15:14:24</param>
  13. <param nazwa="dzielnica" type="text">Chwarzno-Wiczlino</param>
  14. <cena waluta="PLN">560000.00</cena>
  15. </oferta>
  16. </dzial>


i taki kod:

  1. $dataaktualizacji = $xml->xpath('//param[@nazwa="dataaktualizacji"]');
  2. $dzielnica = $xml->xpath('//param[@nazwa="dzielnica"]');
  3. foreach($xml->dzial as $oferta) {
  4. echo $oferta->oferta->id . "<br />";
  5. echo $oferta->oferta->cena . "<br />";
  6. echo $oferta->attributes()->tab. "<br />";
  7. echo $oferta->attributes()->typ. "<br />";
  8.  
  9. }


Jak w tej pętli wyświetlić odpowiednie elementy tablic $dataaktualizacji i $dzielnica dla danego id?

Ten post edytował mirobor 26.09.2016, 20:23:57
Go to the top of the page
+Quote Post
Rysh
post
Post #6





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Zdumpuj param pokaż jak to wygląda.


--------------------
Go to the top of the page
+Quote Post
mirobor
post
Post #7





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 1.02.2014

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


  1. object(SimpleXMLElement)#6460 (32) { ["@attributes"]=> array(2) { ["nazwa"]=> string(16) "dataaktualizacji" ["type"]=> string(4) "text" } [0]=> string(19) "2016-08-05 13:16:36" [1]=> string(9) "Pomorskie" [2]=> object(SimpleXMLElement)#6459 (1) { ["@attributes"]=> array(2) { ["nazwa"]=> string(9) "dzielnica" ["type"]=> string(4) "text" } } [3]=> string(6) "Gowino" [4]=> string(8) "Kwiatowa" [5]=> object(SimpleXMLElement)#4290 (1) { ["@attributes"]=> array(2) { ["nazwa"]=> string(7) "n_geo_y" ["type"]=> string(5) "float" } } [6]=> object(SimpleXMLElement)#4291 (1) { ["@attributes"]=> array(2) { ["nazwa"]=> string(7) "n_geo_x" ["type"]=> string(5) "float" } } [7]=> object(SimpleXMLElement)#4292 (1) { ["@attributes"]=> array(2) { ["nazwa"]=> string(5) "wideo" ["type"]=> string(4) "text" } } [8]=> string(7) "8000.00" [9]=> object(SimpleXMLElement)#4293 (1) { ["@attributes"]=> array(2) { ["nazwa"]=> string(4) "opis" ["type"]=> string(4) "text" } } [10]=> string(11) "Anna Gronau" [11]=> string(26) "tyszkiewicz@tyszkiewicz.pl" [12]=> string(25) "58 558 53 53, 784 008 353" [13]=> string(9) "Budowlana" [14]=> string(1) "1" [15]=> string(1) "1" [16]=> string(1) "0" [17]=> string(1) "0" [18]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_1.JPG" [19]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_2.JPG" [20]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_3.JPG" [21]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_4.JPG" [22]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_5.JPG" [23]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_6.JPG" [24]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_7.JPG" [25]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_8.JPG" [26]=> string(39) "ofertynet-trzycity.pl_zs_TY063681_9.JPG" [27]=> string(40) "ofertynet-trzycity.pl_zs_TY063681_10.JPG" [28]=> string(40) "ofertynet-trzycity.pl_zs_TY063681_11.JPG" [29]=> string(40) "ofertynet-trzycity.pl_zs_TY063681_12.JPG" [30]=> string(40) "ofertynet-trzycity.pl_zs_TY063681_13.png" }
Go to the top of the page
+Quote Post

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: 22.08.2025 - 05:49