test.xml
Zitat:
<?xml version='1.0'?>
<document>
<title>Zweiundvierz...?</title>
<from>Joe</from>
<to>Jane</to>
<body>
Ich kenne die Antwort -- aber was ist die Frage?
</body>
</document>
|
Test PHP-Code
PHP-Code:
<?php
if(isset($_POST['xml'])) {
$string = $_POST['xml'];
$xml = simplexml_load_string($string);
//var_dump($xml);
echo $xml->body;
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" target="">
<textarea name="xml" cols="30" rows="9"></textarea><br>
<input type="Submit" name="senden" value="Senden">
</form>
Theoretisch kann ich die XML-Datei einfach in ein Verzeichnis kopieren und dann einbinden. Alles kein Problem.
Ich selbst habe aber keinen direkten Zugriff auf diese XML. Mir wird sie in einem I-Frame angezeigt.
Theoretisch könnte ich die Datei local Abspeichern, auf den Server laden und dort dann per Script auslesen lassen. Dieser Aufwand ist mir allerdings zu viel. Zusätzlich müsste ich auch noch dafür sorgen, daß die XML-Dateien gelöscht werden.
Bislang kopiere ich die angezeigte Datei und durch einen großen Umweg komme ich schliesslich auch zu den gewünschten Daten um sie in eine DB zu speichern.
Benutze ich o.g. PHP-Script, kommt es zu diversen, logischen Fehlern
Zitat:
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : XML declaration allowed only at the start of the document in C:\xampp\htdocs\testsiten\test.php on line 4
Warning: simplexml_load_string() [function.simplexml-load-string]: <?xml version=\"1.0\" ?> in C:\xampp\htdocs\testsiten\test.php on line 4
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in C:\xampp\htdocs\testsiten\test.php on line 4
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 2: parser error : Start tag expected, '<' not found in C:\xampp\htdocs\testsiten\test.php on line 4
Warning: simplexml_load_string() [function.simplexml-load-string]: - <document> in C:\xampp\htdocs\testsiten\test.php on line 4
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in C:\xampp\htdocs\testsiten\test.php on line 4
|
mit ltrim() könnte ich die ersten beiden Fehlermeldung umgehen.
Hat einer eine Idee, wie ich die Sonderzeichen zwischen den XML-Tags auf einfachen Weg wegbekomme?
Auf die Schnelle fällt mir nur ein nach ^ und - zu suchen und diese durch nichts zu ersetzen. Bin mir nur nicht sicher ob es dann so tatsächlich funktioniert.