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

Denk dat er een fout in de opmaak van je XML zit
waarom wil je je tags met een dubbele punt? to, from etc is toch al voldoende?
Ziet er uit als een probleem met de namespaces, die noem je namelijk niet.
Het probleem is dat ik een xml toegestuurd krijg en dat ik hier data uit ophaal en opsla in een database. Ik kan zelf dus geen invloed uitoefenen op de structuur van de xml.
Hier zitten echter tags in waar een dubbele punt in voor komt. Vandaar mijn vraag.
Zo ziet de structuur eruit:

<item>
	<title>filmpje</title>
		<media:flashlink>
			content_flashlink
		</media:flashlink>
		<media:ftpflash>
			content_ftpflash
		</media:ftpflash>
		<media:ftpmp4>
			content_ftpmp4
		</media:ftpmp4>
		<media:ftpwmv>
			content_ftpwmv
		</media:ftpwmv>
		<media:ftpmpeg2>
			content_ftpmpeg2
		</media:ftpmpeg2>
</item>

Het probleem is dat je niet $item->to:person kan doen?

Probeer eens als dit lukt: $item->{'to:person'}
Hipska schreef op 26.05.2008 15:10
Het probleem is dat je niet $item->to:person kan doen?

Probeer eens als dit lukt: $item->{'to:person'}


Nee helaas pakt ie dit niet..
Maar toch bedankt!
Hallo, ik heb het zelfde probleem bij het lezen van een XML waarvan er een tag met dubbel punt tussenzit.
De link met de oplossing iets verderop in dit forum item werkt niet (meer).
Zou iemand een oplossing voorhanden hebben?
Thanks

Daniel
Misschien zoiets?


$item->{'person:to'}

Reageren