attributes in XML uitlezen..
<feed>
<data>
<record>
<column name="url">
<![CDATA[http://eenurl.nl]]>
</column>
column name="title">
<![CDATA[hier dan de titel]]>
</column>
column name="description">
<![CDATA[eenbeetje tekst.]]>
</column>
<column name="image">
<![CDATA[http://....]]>
</column>
<column name="price">
<![CDATA[50]]>
</column>
<column name="category">
<![CDATA[nederland]]>
</column>
</record>
<record>
<column name="url">
<![CDATA[http://2eenurl.nl]]>
</column>
column name="title">
<![CDATA[2hier dan de titel]]>
</column>
column name="description">
<![CDATA[2eenbeetje tekst.]]>
</column>
<column name="image">
<![CDATA[2http://....]]>
</column>
<column name="category">
<![CDATA[nederland]]>
</column>
</record>
</data>
</feed>
En dan nu het uitlezen..
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$xml = simplexml_load_file('http://www.eendomein.nl/bestandvande.xml');
foreach ($xml->data->record as $product_main) {
foreach ($product_main->column->attributes()->name as $product) {
$feed['beschrijving'] = mysql_real_escape_string($product->description);
}
echo $feed['beschrijving'];
unset($feed) ;
}
?>
$xml = simplexml_load_file('http://www.eendomein.nl/bestandvande.xml');
foreach ($xml->data->record as $product_main) {
foreach ($product_main->column->attributes()->name as $product) {
$feed['beschrijving'] = mysql_real_escape_string($product->description);
}
echo $feed['beschrijving'];
unset($feed) ;
}
?>
Maar dit werkt niet niet.. het gaat fout bij 'attributes()' weet iemand hoe dit wel werkt met 'attributes'?
Ik hoor het graag.
Gewijzigd op 30/11/2013 22:21:06 door Ki ma
Ten tweede lezen we op php.net dat de return value een "SimpleXMLElement object that can be iterated over to loop through the attributes on the tag" is. Interated betekend loopen met een loop.
Wil jij over alle attributen lopen van een specifiek element? Nee, jij wilt een specifiek attribute (name) opvragen.
Hoe moet dat dan? Nou, we scrollen iets naar beneden naar de eerste reactie en daar zien we het voorbeeld: $sxml->Table[0]['Foo'] Haalt het Foo attribuut van het eerste Table element op.
Hmm.. beetje verkeerd opgepakt dus. Ik zal er weer eens goed naar kijken.