Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SimpleXML wyciąganie atrybutów w pętli
Forum PHP.pl > Forum > XML, AJAX > XML
kamil.deb
  1.  
  2. <attribute key="mode">
  3.    <item value="Fiat">fijat</item>
  4. </attribute>
  5. <attribute key="kolor">
  6.    <item value="żółty">żułty</item>
  7. </attribute>


i teraz chciałbym sie dostać do danego itemu w zależności od key'a. Więc chciałbym je sobie wyliczyć za pomocą instrukcji

  1. <?php
  2. $xml = simplexml_load_file('kupa.xml'); //tworzymy obiekt SimpleXMLElement
  3. foreach($xml as $atr){
  4. return $atr['key'];
  5. ?>

Wynikiem powyżsej instrukcji jest mode, tylko mode. Jak orzymać oba atrybuty?
piotrooo89
a mógłbyś pokazać cały XML (łącznie z korzeniem).
erix
Cytat
Wynikiem powyżsej instrukcji jest mode, tylko mode. Jak orzymać oba atrybuty?

A jak ma pętla wykonać więcej niż jeden krok, skoro przerywasz działanie przez return" title="Zobacz w manualu PHP" target="_manual? Wrzucaj wyniki do tablicy i ją zwracaj.
Pawel_W
  1. <?php
  2. foreach($xml as $atr){
  3. ?>

nie wyświetli ci zawartości attribute-> key
musisz to zrobić w taki sposób
  1. <?php
  2. foreach($xml->attribute as $atr){
  3. ?>

to powinno zadziałać
kamil.deb
Cytat(piotrooo89 @ 8.07.2009, 14:14:52 ) *
a mógłbyś pokazać cały XML (łącznie z korzeniem).


tak, prosze bardzo:
[xml]
<?xml version="1.0" encoding="UTF-8"?>
<root>
<attribute key="mode">
<item value="Fiat">fijat</item>
</attribute>
<attribute key="kolor">
<item value="żółty">żułty</item>
</attribute>
</root>

Cytat(erix @ 8.07.2009, 14:15:48 ) *
A jak ma pętla wykonać więcej niż jeden krok, skoro przerywasz działanie przez return" title="Zobacz w manualu PHP" target="_manual? Wrzucaj wyniki do tablicy i ją zwracaj.


  1. <?php
  2. $xml = simplexml_load_file('kupa.xml'); //tworzymy obiekt SimpleXMLElement
  3. foreach($xml as $atr){
  4. $rab = array();
  5. $rab = $atr['key'];
  6. }
  7. return $rab;
  8. ?>

Nie pomaga.

Cytat(Pawel_W @ 8.07.2009, 14:18:22 ) *
  1. <?php
  2. foreach($xml as $atr){
  3. ?>

nie wyświetli ci zawartości attribute-> key
musisz to zrobić w taki sposób
  1. <?php
  2. foreach($xml->attribute as $atr){
  3. ?>

to powinno zadziałać


Ten sposób również nie pomógł
erix
Cytat
Nie pomaga.

No jak ma pomóc, jak co krok w pętli czyścisz tablicę... :/
kamil.deb
bez różnicy

  1. <?php
  2. $xml = simplexml_load_file('kupa.xml'); //tworzymy obiekt SimpleXMLElement
  3. foreach($xml as $atr){
  4. $rab = $atr['key'];
  5. }
  6. return $rab;
  7. ?>
piotrooo89
a coś takiego:

  1. <?php
  2. $xml = simplexml_load_file('kupa.xml');
  3.  
  4. foreach($xml->attribute as $attr)
  5. {
  6.    echo $attr->attributes().'<br>';
  7. }
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.