FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej!
Jag undrar om ni kan hjälpa mig att visa xml strukturen på något sätt. För att ni ska förstå mig bättre ska jag ge er ett exempel. http://www.tizag.com/xmlTutorial/xmltree.php Denna sida visar en väldigt enkel struktur av ett xml dokument. Kod:
<inventory> <drink> <lemonade> <price>$2.50</price> <amount>20</amount> </lemonade> <pop> <price>$1.50</price> <amount>10</amount> </pop> </drink> <snack> <chips> <price>$4.50</price> <amount>60</amount> </chips> </snack> <snack> <chips> <price>$4.50</price> <amount>60</amount> </chips> </snack> </inventory> Kod:
<inventory> <drink> <lemonade> <price></price> <amount></amount> </lemonade> <pop> <price></price> <amount></amount> </pop> </drink> <snack> <chips> <price></price> <amount></amount> </chips> </snack> </inventory> Jag använder mig av PHP och har med hjälp av simple xml och funktionen getName() (http://www.w3schools.com/php/php_ref_simplexml.asp) lyckats skriva ut allt på en lång lista. Men den tar inte hänsyn till dubbletter och inte heller hur långt in i dokumentet de ligger: PHP-kod:
Kod:
drink lemonade price amount pop price amount snack chips price amount snack chips price amount Såg att man kunde få ut attributen via attribute i simpleXML men tog inte med det i mitt exempel eftersom att jag ville att ni skulle förstå vad jag menade. Är det möjligt att åstadkomma det jag vill åstadkomma? Tack på förhand! ![]() |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Flitig postare
|
för att inte skriva ut dubletter så får du loopa igenom simplexml-objektet och manuellt fixa det.. och sen skriva ut.
om du vill skriva ut i debuggningssyfte så kan jag rek; echo '<pre>';var_dump($xml);echo '</pre>'; |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Jag vill bara skriva ut trädet för att kunna se strukturen.
Exempelvis vad som finns i <chips> ur din kod fick jag: string(43) "http://www.tizag.com/files/xml/lemonade.xml" Känns inte som att jag har fått rätt :/ Jag satte $xml = 'http://www.tizag.com/files/xml/lemonade.xml' Eftersom att det bara verkar som att den tar längden på strängen $xml. Så hur var tanken att man skulle använda din kodsnutt? |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Klarade millennium-buggen
|
Du kan väl transformera XMLen med hjälp av XSLT. Läs mer om hur du gör en distinct här: http://blog.coryfoy.com/2007/09/gett...ata-in-a-node/
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Citat:
$xml = simplexml_load_file( 'http://www.tizag.com/files/xml/lemonade.xml' ); echo '<pre>';var_dump($xml); Man kan göra filtreringar med xpath-uttryck eller nod-strukturen i simplexml om man ska se vad som finns i <chips> t.ex. Senast redigerad av taz76 den 2010-09-02 klockan 14:14 |
||
![]() |
![]() |
Svara |
|
|