Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Ungültige XML-Deklaration <?xml version="1.0"?> (https://www.delphipraxis.net/143413-ungueltige-xml-deklaration-xml-version%3D-1-0-a.html)

Hedge 15. Nov 2009 17:12


Ungültige XML-Deklaration <?xml version="1.0"?&
 
Lasse mir von nen PHP-Script eine XML-Datei genrieren die so aussieht:

XML-Code:
<?xml version="1.0"?>
<node>
<test>test</test>
<test1>test1</test1>
<test2>test2</test2>
<test3>test3</test3>
</node>
In Delphi hol ich mir die Datei folgendermaßen (benutze TXMLDocument):

Delphi-Quellcode:
XMLDocument1.LoadFromXML(IdHTTP1.Post('http://localhost/test.php', data));
Memo1.Lines.Add(XMLDocument1.ChildNodes['test2'].Text);
Leider kriege ich nur eine Exception mit der Meldung:

Zitat:

Ungültige XML-Deklaration
Zeile:1
<?xml version="1.0"?>.
Was geht da in die Hose?

mirage228 15. Nov 2009 17:18

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Gib mal das Encoding mit an, in dem Du das XML zurückgibst.

Für UTF-8 also:
Code:
<?xml version="1.0" encoding="UTF-8"?>

Hedge 15. Nov 2009 17:21

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Das gibt exakt die selbe Fehlermeldung.

Das PHP-Script sieht so aus:

[code]
<?php
echo '<?xml version = "1.0" encoding="UTF-8"?>
<node>
<test>test</test>
<test1>test1</test1>
<test2>test4</test2>
<test3>test3</test3>
</node>';
?>

Bernhard Geyer 15. Nov 2009 17:34

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Poste das Ergebnis als Datei hier.
Evtl. wird ja hier evtl. was mit Unicode-Encodierung angebegen (Big/Little-Endian):

Hedge 15. Nov 2009 17:57

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Ich glaube das Problem liegt auf der PHP-seite.
Habe
Zitat:

<?xml version="1.0"?>
<node>
<test>test</test>
<test1>test1</test1>
<test2>test2</test2>
<test3>test3</test3>
</node>
mal in eine Datei geschrieben und die via XMLDocument1.LoadFromFile('C:\lala.xml'); geladen.
Das geht super.

PHP scheint noch irgendwas anderes auszugeben als <?xml version="1.0"?>

Namenloser 15. Nov 2009 18:15

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Zitat:

Zitat von Hedge
PHP scheint noch irgendwas anderes auszugeben als <?xml version="1.0"?>

BOM vielleicht?

Hedge 15. Nov 2009 18:16

Re: Ungültige XML-Deklaration <?xml version="1.0&
 
Datei gespeichert als UTF-8 ohne Byte Order Mark, aber das hat ja keinen Einfluß darauf wie die Ausgabe von PHP aussieht.

EDIT:
Habe die Lösung gefunden.
Musste PHP noch sagen, dass er den Kram auch als XML-Datei ausliefern soll via Content-Type:

Code:
header('Content-type: application/rss+xml; charset: utf-8');


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz