Hei.
Jeg har et XML-dokument som ser noenlunde slik ut:
Dette dokumentet blir hentet med cURL, og lagt inn i variablen $rawdata.
Jeg får hentet ut verdien av radene som ikke er underlagt en parent ved hjelp av følgende:
Det jeg sliter med er å få hentet ut verdiene fra childX-radene som befinner seg under parent-raden.
Jeg har slitt med dette i hele dag, men XML og cURL er et relativt nytt område for meg.
-----------
Jeg har forstått det slik at dersom XML-dokumentet hadde vært satt opp slik:
Så kunne jeg hentet ut childX-verdiene med følgende:
Men oppsettet i dette XML-dokumentet er ute av min kontroll.
Er jeg helt på bærtur med det nederste kodeeksempelet, eller er det mulig å få til noe lignende på mitt første kodeeksempel der både parent og child "heter" <zitem:field>?
Jeg har et XML-dokument som ser noenlunde slik ut:
Kode
<zitem:humdata> <zitem:field name="obj1" value="1"/> <zitem:field name="obj2" value="2"/> <zitem:field name="obj3" value="3"/> <zitem:field name="obj4" value="4"/> <zitem:field name="parent"> <zitem:field name="child1" value="C1"/> <zitem:field name="child2" value="C2"/> <zitem:field name="child3" value="C3"/> </zitem:field> </zitem:humdata>
Jeg får hentet ut verdien av radene som ikke er underlagt en parent ved hjelp av følgende:
Kode
$xmlElement = new SimpleXMLElement($rawdata); $namespace = $xmlElement->getNamespaces(true); foreach ($humdata->children($namespace['zitem'])->field as $field) { if ($field->attributes()->name == 'obj1') { $objekt1_verdi = $field->attributes()->value; } }
Det jeg sliter med er å få hentet ut verdiene fra childX-radene som befinner seg under parent-raden.
Jeg har slitt med dette i hele dag, men XML og cURL er et relativt nytt område for meg.
-----------
Jeg har forstått det slik at dersom XML-dokumentet hadde vært satt opp slik:
Kode
<zitem:humdata> <zitem:field name="obj1" value="1"/> <zitem:field name="obj2" value="2"/> <zitem:field name="obj3" value="3"/> <zitem:field name="obj4" value="4"/> <zitem:moder name="parent"> <zitem:field name="child1" value="C1"/> <zitem:field name="child2" value="C2"/> <zitem:field name="child3" value="C3"/> </zitem:moder> </zitem:humdata>
Kode
$xmlElement = new SimpleXMLElement($rawdata); $namespace = $xmlElement->getNamespaces(true); foreach ($humdata->children($namespace['zitem'])->field as $field) { if ($field->attributes()->name == 'obj1') { $objekt1_verdi = $field->attributes()->value; } foreach ($field->children($namespace['zitem'])->moder as $barn) { if ($barn->attributes()->name == 'child1') { $barn1_verdi = $barn->attributes()->value; } } }
Er jeg helt på bærtur med det nederste kodeeksempelet, eller er det mulig å få til noe lignende på mitt første kodeeksempel der både parent og child "heter" <zitem:field>?