2009-08-07 45 views
2

我有一個關於XML文檔特殊字符的問題,我正在使用&處理XML和TXMLDoc中的項目的值。Delphi解析器正在抱怨它。XML文檔和&char?

我尋找一些XML解析選項,但他們沒有關於特殊字符,

什麼想法?

實施例:

<Configuration> 
     <Configuration_item> 
     <view_name value="some view & name"/> 

.... 

問候, 米卡

回答

8

&amp;使用來表示一個符號。您需要這樣做的原因是因爲&是XML中的一個特殊字符 - 具體而言,用於指示XML實體的開始的字符,用於指定內容中的字符(否則會諷刺地)爲特殊/複雜字符。

<view_name value="some view &amp; name"/> 

其他常見的XML實體:

  • 「是&quot;
  • <是&lt;(簡稱低於)
  • &gt;(簡稱大於)

欲瞭解更多信息:

http://www.xml.com/pub/a/2001/01/31/qanda.html

+0

哇,那很快,我還在編輯帖子,並且正確! 謝謝! – blackuprise 2009-08-07 21:42:59

4

&<>是你要注意特殊字符,和屬性也"內。 &有點像XML轉義字符。

它們可因此轉義:

  • & =>&amp;
  • < =>&lt;
  • > =>&gt;
  • " =>&quot;

(實際上,奇怪的是,你並不需要在屬性內跳過>,只有<。此外,如果您使用'而不是"作爲屬性分隔符,而不必使用"作爲&quot;,則需要將'轉義爲&apos;。詳情請參閱XML規範中的AttValue參考。)

2

Dav和lavinio是正確的。

如果您的文本塊中包含大量特殊字符,則可以將其包含在CDATA之內。

+0

注意:您不能使用CDATA作爲屬性值,僅用於標記之間的文本塊。 – 2009-08-07 21:39:43