dubbele punt in xml tag
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:
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
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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>
$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
Gewijzigd op 12/02/2019 19:59:10 door - Ariën -
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:
Hier zitten echter tags in waar een dubbele punt in voor komt. Vandaar mijn vraag.
Zo ziet de structuur eruit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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>
<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>
Gewijzigd op 12/02/2019 19:59:28 door - Ariën -
Het probleem is dat je niet $item->to:person kan doen?
Probeer eens als dit lukt: $item->{'to:person'}
Probeer eens als dit lukt: $item->{'to:person'}
Kijk hier eens: http://www.scriptorama.nl/tutorials/flickr-rss-feed-met-simplexml
Staat ook wat uitgelegd over namespaces;)
Staat ook wat uitgelegd over namespaces;)
'Hipska:
Het probleem is dat je niet $item->to:person kan doen?
Probeer eens als dit lukt: $item->{'to:person'}
Probeer eens als dit lukt: $item->{'to:person'}
Nee helaas pakt ie dit niet..
Maar toch bedankt!
'Arian:
Kijk hier eens: http://www.scriptorama.nl/tutorials/flickr-rss-feed-met-simplexml
Staat ook wat uitgelegd over namespaces;)
Staat ook wat uitgelegd over namespaces;)
Hartstikke bedankt Arian!:D Het werkt!
Groeten,
KoK
PS: De rest ook bedankt voor hun bijdrage
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
De link met de oplossing iets verderop in dit forum item werkt niet (meer).
Zou iemand een oplossing voorhanden hebben?
Thanks
Daniel
Al geGoogled? Eerste resultaat.
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
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.
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.
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;
-<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>
Ik had absoluut geen slechte bedoelingen hoor, oprecht sorry.
dit is mijn code.
De XML ziet er als volgt uit;
-<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>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>");
}
?>
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:
Zoals ook min of meer in het hierboven gelinkte artikel staat.
De syntax waar je naar zoekt is waarschijnlijk zoiets:
Code (php)
Zoals ook min of meer in het hierboven gelinkte artikel staat.
@ Thomas, dit werkt idd perfect !!
Zeer hartelijk dank voor alle andere reacties.
Zeer hartelijk dank voor alle andere reacties.




