Simplexml geeft foutmelding bij inlezen XML

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • .GoO
  • Registratie: September 2001
  • Laatst online: 08-07 06:50
Ik gebruik Simplexml om een x aantal XML bestanden via URL in te lezen vanuit verschillende bronnen. Werkte tot vandaag prima, maar nu geeft 1 van de bronnen plots een foutmelding voor alle XML bestanden die ik inlees terug terwijl er aan de code niets veranderd is.

Betreffende error:
Warning: simplexml_load_string(): Entity: line 2: parser error : Extra content at the end of the document in /home/.../load.php on line 10 Warning: simplexml_load_string(): Warning: mysqli_connect(): (HY000/2002): Connection refused in /home/.../load.php on line 10
Wanneer ik de XML link open dan gaat dit zonder problemen en het ziet eruit als geldige XML, komt ook door de validator heen.

Ik weet echt even niet waar ik het zoeken moet. De foutmelding is ook verwarrend, de eerste zin impliceert iets in de content en de tweede een connectieprobleem.

Iemand een idee of hint?

Acties:
  • 0 Henk 'm!

  • Biersteker
  • Registratie: Juni 2009
  • Laatst online: 13-07 13:39
Zitten er wel <document></document> tags in de data?

Originally, a hacker was someone who makes furniture with an axe.


Acties:
  • 0 Henk 'm!

  • .GoO
  • Registratie: September 2001
  • Laatst online: 08-07 06:50
Biersteker schreef op dinsdag 09 februari 2016 @ 14:22:
Zitten er wel <document></document> tags in de data?
Oh sorry, XML voorbeeld vergeten. Zie hieronder.

code:
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
<?xml version="1.0" encoding="ISO-8859-15" ?>
<items>
    <item>
        <title></title>
        <link></link>
        <id></id>
        <description></description>
        <update_hash></update_hash>
        <img></img>
        <brand></brand>
        <stock></stock>
        <price></price>
    </item>
    <item>
        <title></title>
        <link></link>
        <id></id>
        <description></description>
        <update_hash></update_hash>
        <img></img>
        <brand></brand>
        <stock></stock>
        <price></price>
    </item>
</items>

[ Voor 11% gewijzigd door .GoO op 09-02-2016 14:47 ]


Acties:
  • 0 Henk 'm!

  • supergert
  • Registratie: December 2001
  • Niet online
Kun je de ruwe XML-data die je van die externe bron krijgt, loggen in een tekstbestand?
Dan kun je zien of die ruwe data ook matcht met de geldige XML die je in je browser ziet.

ZX81 > C64 > Amiga > BeBox > PowerMac > pc-klonen...


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-07 00:21

Janoz

Moderator Devschuur®

!litemod

Kunje een stukje van de code laten zien? Ik vind het heel vreemd dat dy mysql melding er achteraan zit en dat dit op dezelfde regel optreed.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 12-06 22:13

Afvalzak

Zet jij mij even buiten?

Ik zou sowieso proberen de raw output te loggen want ik vermoed dat dat MySQL gedeelte nu teruggegeven wordt ipv XML (of samen met XML), en in de toekomst bijvoorbeeld REST console gebruiken,
dan kan je heel makkelijk de content-type aanpassen en RAW output inzien zodat je vrijwel zeker weet dat wat jij terug krijgt, ook het geen is wat je programma terugkrijgt.

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • .GoO
  • Registratie: September 2001
  • Laatst online: 08-07 06:50
Ik heb de raw output bekeken en dan wordt meteen duidelijk wat het probleem is:
Warning: mysqli_connect(): (HY000/2002): Connection refused in /home/httpd/partner/database.class.php on line 1

Warning: mysqli_error() expects parameter to be mysqli, boolean given in /home/httpdocs/partner/class/database.class.php on line 1
Een database probleem aan de kant van de bron, die beweerden dat het toch echt aan mij lag. Ik ga contact opnemen, bedankt voor de hulp.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Toch lijkt er meer aan de hand te zijn. Of het script moet aan de andere kant ook load.php heten en exact op regel 10 een fout hebben, je krijgt 2 foutmeldingen op 1 regel.

Acties:
  • 0 Henk 'm!

  • .GoO
  • Registratie: September 2001
  • Laatst online: 08-07 06:50
Gomez12 schreef op dinsdag 09 februari 2016 @ 23:16:
Toch lijkt er meer aan de hand te zijn. Of het script moet aan de andere kant ook load.php heten en exact op regel 10 een fout hebben, je krijgt 2 foutmeldingen op 1 regel.
Dat is inderdaad wel bijzonder. Ik denk slechte error handling, de error bij simplexml_load_string is niet breaking dus hij probeert daarna ondanks de gekke output het verdere proces door te gaan. Dat ga ik nog verbeteren.
Pagina: 1