2011-04-08 47 views
2

當我試圖驗證此XML,我得到一個錯誤:網址視爲無效在XML

<url>http://example.org/?a=1&b=2</url> 

驗證器說:「引用實體‘B’必須以‘;’結尾分隔符「。參照字符串中的第二個等號(=)。

爲什麼會出現這種情況?該網址是否應該以某種方式編碼?

回答

6

&在XML中是不允許的,因爲它啓動了一個實體序列(通常是對字符的命名引用,如&eacute;,對於é)。實體序列以&開頭並以;結尾,並在它們之間包含實體的名稱。

要插入&,請寫下這個實體序列:&amp;

有幾個需要寫成實體多個字符:雙引號"&quot;),當它是一個XML屬性裏面,尖括號<>&lt;&gt;),因爲他們有特殊的含義XML。

2

&是XML中的受保護字符。

您可以與實體&amp;

<url>http://example.org/?a=1&amp;b=2</url> 
更換