Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SimpleXML wyciąganie atrybutów w pętli
kamil.deb
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

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


  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?

Ten post edytował kamil.deb 8.07.2009, 13:03:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a mógłbyś pokazać cały XML (łącznie z korzeniem).
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


  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ć
Go to the top of the page
+Quote Post
kamil.deb
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

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


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ł
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nie pomaga.

No jak ma pomóc, jak co krok w pętli czyścisz tablicę... :/
Go to the top of the page
+Quote Post
kamil.deb
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

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


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. ?>


Ten post edytował kamil.deb 8.07.2009, 14:58:25
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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. ?>
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 - 04:18