2011-07-01 125 views
0

簡單的問題。如果我嘗試看看xml屬性不正確嗎?

<?xml version='1.0'?> 
<test key="blah('foo=1&bar=2')"> 
</test> 
在Firefox

,它抱怨

XML Parsing Error: not well-formed 
Location: file:///C:/tmp/dump2.xml 
Line Number 2, Column 27: 

<test key="blah('foo=1&bar=2')"> 
--------------------------^ 

這是爲什麼?我需要逃脫什麼?

+2

我敢打賭,如果你開始一次只移除一個字符,直到不能再抱怨你自己有答案在這裏得到答案之前。 –

+0

是啊........... –

+1

嘆了口氣。 -1'er在它再次。你知道,並不是每個人都能夠無所不知,在短時間內想到所有明顯的解決方案。 –

回答

2
<?xml version='1.0'?> 
<test key="blah('foo=1&bar=2')"> 
</test> 

不是格式良好的XML。使用:

<?xml version='1.0'?> 
<test key="blah('foo=1&amp;bar=2')"> 
</test> 

編輯:在氧XML編輯

錯誤消息:

F [Xerces的所述參考實體 「欄中的」 必須與 ';' 結尾分隔符。

這意味着&bar被解析爲entity reference,但這裏是語法錯誤,那就是缺少;。您需要使用預定義實體(五個之一)的escape&字符&amp;

1

將&符號&更改爲&amp;

0

看起來像&符號是問題;這工作正常:

<test key="blah('foo=1&amp;bar=2')"> 

哪裏需要在屬性中跳過&符號的書寫?

+2

http://www.w3.org/TR/2008/REC-xml-20081126/#syntax –

+0

@John:謝謝!我一直在過去5分鐘內使用「xml屬性&符號」搜索,並找不到它或任何對它的引用。作爲回答發佈,我會接受。 –

+0

你真的表現出很多不願做最基本的功課。 http://www.w3.org/TR/2000/REC-xml-20001006#syntax或w3schools,或任何其他數百的其他資源,或谷歌,或... –

2

您應該使用實體編碼符號和撇號

&amp; 
&apos; 

this site