2013-12-23 87 views
1

我的XML文件有一些法語字符。加載/保存XML特殊字符

<fr>Non prêt pour recevoir l&apos;échantillon.</fr> 

XElement :: Load()後,然後保存它沒有任何改變。它變成

<fr>Non prêt pour recevoir l'échantillon.</fr> 

這是怎麼發生的以及如何解決它?

+0

什麼問題?這是不必要的逃避。 – SLaks

回答

1

AFAIK標籤內容唯一需要轉義序列的字符是&,<>。因此XElement生成有效的XML。

如果你的代碼需要這個轉義來堅持它可能不是很好,因爲它需要非標準的行爲。

但是,如果你想保存確切的內容,你可以使用CDATA section

至於你的評論,我想如果你不控制傳入的XML,就不可能使用CDATA。可能你只能選擇將XML作爲文本文件處理,或者在將XML轉換爲字符串之後,將XML修改後的'替換爲&apos;(以及其他轉義序列)。

+0

感謝您的回答。這個XML將被第三方軟件消耗掉,我必須保留它。如何在不觸及XML本身的情況下使用CDATA部分? – leon

+0

這是一個非常大的XML文件,我只改變了一些值。 – leon

+1

@leon看到更新的答案。 –