2 Stimmen

XML-Parsing-Fehler nicht gut gebildet. Das Problem liegt im Variableninhalt, Abhilfe?

Ich arbeite an einer API, aber ich bin auf ein Problem gestoßen.

Dieser spezielle Teil der Antwort (in XML) gibt eine URL zurück. Hier ist der Fehler, den ich erhalte:

XML Parsing Error: not well-formed

<item_to_page_url>http://cnn.com/.../?hpt=C2&replytocom=11119#respond</item_to_page_url>

Zunächst einmal habe ich eine Ellipse hinzugefügt, um die Länge des Textes für die Anzeige hier im Forum zu verkürzen. Die Fehlerverfolgungszeile, die ich oben nicht eingefügt habe, verweist auf das zweite Gleichheitszeichen in dieser URL.

Ich kann also nichts dafür, dass diese URL in der XML-Antwort angezeigt wird. Gibt es eine Art von Workaround? Sicherlich gibt es eine Möglichkeit, XML mitzuteilen, dass es sich um CONTENT und nicht um <tags> und es dazu bringen, dies zu ignorieren..

Gracias

--EDIT für Kommentar unten --

<item_to_page_title><![CDATA[Breaking news, real-time scores and daily analysis from Sports Illustrated  SI.com]]></item_to_page_title>

gleicher Fehler wie zuvor, andere Bezeichnung, anderes Zeichen.

4voto

lucideer Punkte 3774

Sicherlich gibt es eine Möglichkeit, XML mitzuteilen, dass es sich um INHALT handelt, und es dazu zu bringen, dies zu ignorieren

Das ist in der Tat der Fall. CDATA-Tags führen dazu, dass der XML-Parser den darin enthaltenen Inhalt ignoriert.

<item_to_page_url><![CDATA[http://cnn.com/.../?hpt=C2&replytocom=11119#respond]]></item_to_page_url>

Wenn Sie jedoch nicht wollen, dass der Parser den Inhalt komplett ignoriert, können Sie ihn einfach ausblenden. Der Fehler, den Sie erhalten, wird nicht durch das Gleichheitszeichen verursacht, sondern durch den vorangestellten Ampere-Stand - Ampere-Stände müssen in Xml als "escaped" werden &amp;

<item_to_page_url>http://cnn.com/.../?hpt=C2&amp;replytocom=11119#respond</item_to_page_url>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X