attributes in XML uitlezen..

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET Back-end Developer in ons innovation t

Bedrijfsomschrijving Namens één van mijn betere klanten, gevestigd in de omgeving van Amstelveen, ben ik op zoek naar een ervaren Senior Back-end Developer met minimaal vier jaar werkervaring. Je komt terecht in een echte developmentorganisatie, waarbinnen momenteel ruim 40 enthousiaste mannen en vrouwen dagelijks werken aan de ontwikkeling van complexe applicaties, die veelal webbased zijn. Deze applicaties worden gebruikt door zowel grote als kleine organisaties in zowel binnen- als buitenland en zijn bedoeld om bedrijven te ondersteunen in alles wat te maken heeft met financiën. Zo levert deze organisatie standaard- en maatwerkapplicaties waarbinnen bedrijven bijvoorbeeld al hun zaken omtrent salarishuishouding

Bekijk vacature »

Ki ma

ki ma

30/11/2013 22:18:37
Quote Anchor link
XML opbouw:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" encoding="UTF-8"?>

<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)
PHP script in nieuw venster Selecteer het PHP script
1
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) ;
}

?>


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
 
PHP hulp

PHP hulp

27/07/2021 11:13:36
 
Wouter J

Wouter J

30/11/2013 22:45:06
Quote Anchor link
Laten we eerst je code eens grondig bekijken. Je wilt elk <column> element loopen en daar de name attribute van lezen. Wat je dus doet is foreach op die column en dan de attribuut opvragen. Wat jij nu doet is foreach over een attribuut, dat kan sowieso al niet.

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.
 
Ki ma

ki ma

01/12/2013 12:42:42
Quote Anchor link
Hmm.. beetje verkeerd opgepakt dus. Ik zal er weer eens goed naar kijken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.