Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML _ Utworzenie tablicy dwuelementowej z xml'a

Napisany przez: kermi 5.08.2014, 17:26:05

Witam, korzystam na stronie z phpgallery i mam plik xml w takim formacie:

CODE
<tiltviewergallery>
<photos>
<photo imageurl="imgs/zdjecie1.JPG">
<title>towar1</title>
</photo>
<photo imageurl="imgs/zdjecie2.JPG">
<title>towar2</title>
</photo>
</photos>
</tiltviewergallery>


Chcę zrobić wersję uproszczoną dla urządzeń mobilnych. Ponieważ bez sensu byłoby tworzenie nowego pliku do galerii, chcę wykorzystać powstały plik xml, ale potrzebuję wyciągnąć z niego do dwuwymiarowej tablicy:

1. Nazwę pliku ze zdjęciem czyli: <photo imageurl="imgs/zdjecie1.JPG">
2. Opis czyli <title>towar1</title>


O ile nie mam problemu z dostępem do imageurl, to ni diabła nie wiem jak dostać się do opisu
Robię to mniej więcej tak:

CODE
<?php
$towary = simplexml_load_file("gallery.xml");
$obrazek=$towary->xpath('photos/photo');
foreach ($obrazek as $key)
{
var_dump($key);
};

?>


i mam taki efekt:

CODE
array(2) { [0]=> object(SimpleXMLElement)#2 (2) { ["@attributes"]=> array(1) { ["imageurl"]=> string(18) "imgs/zdjecie1.JPG" } ["title"]=> string(9) "towar1" } [1]=> object(SimpleXMLElement)#3 (2) { ["@attributes"]=> array(1) { ["imageurl"]=> string(14) "imgs/zdjecie2.JPG" } ["title"]=> string(5) "towar2" } }
object(SimpleXMLElement)#2 (2) { ["@attributes"]=> array(1) { ["imageurl"]=> string(18) "imgs/zdjecie1.JPG" } ["title"]=> string(9) "towar1" } object(SimpleXMLElement)#3 (2) { ["@attributes"]=> array(1) { ["imageurl"]=> string(14) "imgs/zdjecie2.JPG" } ["title"]=> string(5) "towar2" }



Jeśli zastosuję xpath('photos/photo/title') to mam null

Proszę o pomoc i wyrozumiałość, gdyż do tej chwili technologie xml nie były mi potrzebne, dziękuję z góry za podpowiedzi.

Napisany przez: trueblue 5.08.2014, 18:32:49

  1. $towary = simplexml_load_file("aaa.xml");
  2. $obrazek=$towary->xpath('photos/photo');
  3. foreach ($obrazek as $photo)
  4. {
  5. http://www.php.net/echo $photo->title;
  6. http://www.php.net/echo $photo->attributes()[0];
  7. };

Napisany przez: kermi 5.08.2014, 19:48:39

Dziękuję, bardzo mi to pomogło....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)