Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Including a URL with query string in an XML document

Tags:

xml

encoding

So I have this XML doc:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <Item>
        <URL>http://www.mysite.com/page?id=1</URL>
    </Item>
</Root>

When I try and view the document, I get an error saying:

XML Parsing Error: not well-formed

at the = sign in the query string. I tried changing the = sign to %3D, but I get the same error at %

What am I supposed to do here?

like image 660
Steven Avatar asked Nov 21 '11 16:11

Steven


2 Answers

You can try <URL><![CDATA[http://www.example.com/page?id=1]]></URL>

All text in an XML document will be parsed by the parser. But text inside a CDATA section will be ignored by the parser. You can find more here.

like image 139
Himanshu A Jadav Avatar answered Nov 17 '22 16:11

Himanshu A Jadav


As you provide it, the XML is well formed. You don't have anything to escape in it. Maybe you have encoding problems in your source file. For information, the 2 characters you must escape in XML are :

& in &amp;
< in &lt;

Characters you may escape in attributes values (depending on the syntax you use for attributes : attr='value' or attr="value") :

" in &quot;
' in &apos;

Depending on the context, the last character that can be escaped :

> in &gt;
like image 19
Vincent Biragnet Avatar answered Nov 17 '22 15:11

Vincent Biragnet