Hallo,

Ik ben bezig met het uitlezen van een xml document en dat gaat prima totdat ik gegevens uit een tag moet halen waar een dubbele punt in zit.

Mijn script ziet er zo uit:

<?php

$xml = simplexml_load_file('test.xml');

foreach($xml->note as $item){
    $tos[] = $item->to;
}

?> 

XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss>
	<note>
		<to>Tove</to>
		<from>Jani</from>
		<heading>Reminder</heading>
		<bodys>Don't forget me this weekend!</bodys>
	</note>
	<note>
		<to>Dirk</to>
		<from>Lex</from>
		<heading>Leuk</heading>
		<bodys>Don't forget me this weekend!</bodys>
	</note>
</rss>


Dit doet hij allemaal prima. Maar als ik een xml wil uitlezen waar een tag in zit met een dubbele punt (bijv. <to:person>) Dan krijg ik een error.
Iemand een idee hoe ik toch de gegevens uit tags met een dubbele punt kan halen?
Alvast bedankt voor de hulp.
Groeten,
KoK

nee hoor, krijg notitie op die bewuste lijn.

Notice: Array to string conversion in /home/vbrvnbe1/domains/test.be/public_html/API/test.php on line 13
Geen idee wat je op regel 13 van test.php aan het doen bent.

Relevante code?

En wellicht een nieuw draadje maken i.p.v. een 11 jaar oude thread te kapen.
Laat je relevante code eens zien?

PS: Zou je in het vervolg een nieuw topic willen aanmaken in plaats van een topic van iemand anders te kapen? Omdat er al een hulpvraag open staat, laat ik deze als uitzondering open staan.
Sorry voor het "kapen" van een ander topic maar deed voor goed gezien het om een identiek issue gaat en de link bij een van de antwoorden niet werkte.
Ik had absoluut geen slechte bedoelingen hoor, oprecht sorry.

dit is mijn code.

De XML ziet er als volgt uit;
<?xml version="1.0" encoding="UTF-8"?>

-<clubs xmlns:a="http://schemas.datacontract.org/2004/07/Webservice.Classes" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">;


-<club>

<a:clubnr>101001</a:clubnr>

<a:naam>TFC Frisia</a:naam>

<a:plaats>Aldeboarn</a:plaats>

<a:regio>Friesland</a:regio>

<a:website>www.tfcfrisia.nl</a:website>

</club>


-<club>

<a:clubnr>101002</a:clubnr>

<a:naam>abc Rally</a:naam>

<a:plaats>Sneek</a:plaats>

<a:regio>Friesland</a:regio>

<a:website></a:website>

</club>


<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

$teller = '0';
$xml= simplexml_load_file('http://www.xxxx.be/API/clubs.php';);


foreach ($xml->club as $item)
{
$teller = ($teller + '1');
$club[] = $item->{'a:naam'};
echo ("teller= ".$teller." ".$club."<br>");
}

?>

De foutmelding heeft niks met XML te maken. $club is een array, je kunt $club dus niet rechtstreeks weergeven.

De syntax waar je naar zoekt is waarschijnlijk zoiets:
<?php
$xml = simplexml_load_file('clubs.xml');

$club = array();
foreach ($xml->club as $item)
{
    $naam = $item->children('a', true)->naam;
    $club[] = $naam;
    echo $naam.'<br>';
}

?>[end]

Zoals ook min of meer in het hierboven gelinkte artikel staat.
@ Thomas, dit werkt idd perfect !!
Zeer hartelijk dank voor alle andere reacties.

Reageren