2011-11-21 111 views
5

所以我有這樣的XML文檔與查詢字符串的URL:包括XML文檔

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

當我嘗試和查看文檔,我得到一個錯誤說:

XML Parsing Error: not well-formed

=登錄查詢字符串。我嘗試將=標誌更改爲%3D,但我在%

上得到相同的錯誤我應該在這裏做什麼?

+0

無論XML解析的聲明是不是很好形成,它已經破裂ñ,因爲它形成良好。嘗試任何在線驗證,他們都會說同樣的事情「井然有序,沒有錯誤」 – Mecki

回答

12

您可以嘗試<URL><![CDATA[http://www.mysite.com/page?id=1]]></URL>

在XML文檔中的所有文本都會被解析器解析。 但是,CDATA節中的文本將被解析器忽略。你可以找到更多here

+0

嗨,它爲我工作,謝謝你的兄弟。 –

1

試試這個<URL><![CDATA[http://www.mysite.com/page?id=1]]></URL>

14

正如您所提供的,XML格式良好。 你沒有任何東西可以逃避。也許你在源文件中有編碼問題。 有關信息,必須在XML逃過2個字符是:

& in &amp; 
< in &lt; 

字符,你可以逃避屬性的值(根據語法,您使用的屬性:attr='value'attr="value"):

" in &quot; 
' in &apos; 

根據具體情況,最後一個可以轉義的字符:

> in &gt; 
+1

這是正確的方法。應該避免CDATA。 –

+0

爲什麼要避免CDATA? – Adam

+0

@Adam:CDATA部分在CDATA嵌套到CDATA等幾種用例中都有缺陷(請參閱[這裏](https://en.wikipedia.org/wiki/CDATA#Nesting))。這意味着如果你想在CDATA部分插入任意的XML(我已經遇到過嘗試過的人),實現並不簡單。 –