Kom ihåg mig?
Home Menu

Menu


XML . Få ut data från SimpleXMLElement Object

 
Ämnesverktyg Visningsalternativ
Oläst 2010-07-22, 09:46 #1
jarnheimers avatar
jarnheimer jarnheimer är inte uppkopplad
Medlem
 
Reg.datum: May 2006
Inlägg: 105
jarnheimer jarnheimer är inte uppkopplad
Medlem
jarnheimers avatar
 
Reg.datum: May 2006
Inlägg: 105
Standard XML och PHP - Få ut data från SimpleXMLElement Object

Hej!

Det kryllar med svar på frågan på Internet. Men jag har inte lyckats hitta en lösning.

Kod:
Array
(
    [0] => Array
        (
            [text] => SimpleXMLElement Object
                (
                    [0] => Text, text, text...
                )

            [url] => http://www.url.se
            [date] => 2010-07-12 07:04
            [name] => SimpleXMLElement Object
                (
                    [0] => Viktor
                )

        )

    [1] => Array
        (
            [text] => SimpleXMLElement Object
                (
                    [0] => Text text text...
                )

            [url] => http://www.url2.se/
            [date] => 2010-07-05 16:17
            [name] => SimpleXMLElement Object
                (
                    [0] => Viktor
                )

        )
Vill jag ska se ut så här:

Kod:
Array
(
    [0] => Array
        (
            [text] => Text, text, text...
            [url] => http://www.url.se
            [date] => 2010-07-12 07:04
            [name] => Viktor

        )

    [1] => Array
        (
            [text] => Text text text...
            [url] => http://www.url2.se/
            [date] => 2010-07-05 16:17
            [name] => Viktor

        )
)
XML verkar tolkas annorlunda jämfört med en vanlig array i PHP. Det fungerar inte att använda följande PHP-kod:
Kod:
$array["text"][0]
Hur kommer jag in i SimpleXMLElement Object?

Tack på förhand!

Senast redigerad av jarnheimer den 2010-07-22 klockan 09:54 Anledning: Råkade trycka på ENTER för fort
jarnheimer är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-07-22, 11:43 #2
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Ta en titt på exempel #2 här: http://se2.php.net/manual/en/simplex...ples-basic.php
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-07-22, 13:22 #3
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
Det beror att simple XML listar alla noder i en XML fil. Den plockar inte bort alla undernoder och lägger dom under rooten såklart, för då vore det helt fel.
studiox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-17, 00:32 #4
terbon terbon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 69
terbon terbon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 69
Om du tvunget behöver ha det på den formen, skulle jag föreslå att du gör en funktion som konverterar xml-objektet isåfall.

Om det handlar om att du exempelvis göra en manuell sorteringsalgoritm, så skulle jag snarare använda det på formen det hade. Dock så skulle jag nog jämföra hur lång tid körningen på scriptet tar, för att se vad som var effektivast.
terbon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-17, 21:13 #5
taz76 taz76 är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2008
Inlägg: 388
taz76 taz76 är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2008
Inlägg: 388
Du måste köra lite typecast för att slippa SimpleXMLElement Object Som t.ex:

<root>
<elm1>lorem ipsium</elm1>
..


... som läser in till simplexml $xmlDoc och så typecast:
$data = (string)$xmlDoc->elm1;
taz76 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-17, 23:59 #6
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Citat:
Ursprungligen postat av taz76 Visa inlägg
Du måste köra lite typecast för att slippa SimpleXMLElement Object Som t.ex:

<root>
<elm1>lorem ipsium</elm1>
..


... som läser in till simplexml $xmlDoc och så typecast:
$data = (string)$xmlDoc->elm1;
... eller så kör man med ->nodeValue så man slipper en ful typomvandling?
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-18, 01:20 #7
taz76 taz76 är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2008
Inlägg: 388
taz76 taz76 är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2008
Inlägg: 388
Citat:
Ursprungligen postat av emilv Visa inlägg
... eller så kör man med ->nodeValue så man slipper en ful typomvandling?
... eller så tycker man det inte är fult? :P
taz76 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-08-25, 22:08 #8
Jines avatar
Jine Jine är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Feb 2005
Inlägg: 1 032
Jine Jine är inte uppkopplad
Har WN som tidsfördriv
Jines avatar
 
Reg.datum: Feb 2005
Inlägg: 1 032
Citat:
Ursprungligen postat av taz76 Visa inlägg
... eller så tycker man det inte är fult? :P
Fast det är det...
Jine är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017