在XML文档中包含带查询字符串的URL

Ste*_*ven 8 xml encoding

所以我有这个XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <Item>
        <URL>http://www.mysite.com/page?id=1</URL>
    </Item>
</Root>
Run Code Online (Sandbox Code Playgroud)

当我尝试查看文档时,我收到一条错误消息:

XML解析错误:格式不正确

=查询字符串中的符号.我尝试将=标志更改为%3D,但我得到了相同的错误%

我该怎么办?

Vin*_*net 18

正如您所提供的那样,XML格式正确.你没有任何东西可以逃脱.也许您的源文件中存在编码问题.有关信息,您必须在XML中转义的2个字符是:

& in &amp;
< in &lt;
Run Code Online (Sandbox Code Playgroud)

您可以在属性值中转义的字符(取决于您用于属性的语法:attr='value'attr="value"):

" in &quot;
' in &apos;
Run Code Online (Sandbox Code Playgroud)

根据上下文,可以转义的最后一个字符:

> in &gt;
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的方法.应该避免使用CDATA. (2认同)

Him*_*dav 16

你可以试试 <URL><![CDATA[http://www.example.com/page?id=1]]></URL>

解析器将解析XML文档中的所有文本.但是CDATA解析器会忽略部分内的文本.你可以在这里找到更多.