2010-06-10 50 views
0

**這是針對silverlight應用程序的。如何使用XDocument.Load加載特殊字符的XML

我有一個流的XML數據,它加載後按摩數據並生成最終文件。我開始通過使用XDocument.Load(流)加載。其中一個文件無法加載,經過一些研究後,我發現其中一個元素的值爲'First & Second',加載失敗時觸及&。

是否可以使用特殊字符加載XML? (我相信答案是否定的,但值得提問)。

是否可以對XML進行預處理(沒有性能影響)並將特殊字符更改爲其他字符,並且在該過程將其恢復爲正常值後。

+0

我能夠通過在XDocument中加載數據之前讀取流來解決它,並檢查&並使用以下鏈接添加CDATA http://www.w3schools.com/xml/xml_cdata.asp – Nair 2010-06-10 21:10:57

+0

還有相關的問題在SO - http://stackoverflow.com/questions/121511/reading-xml-with-an-into-c-xmldocument-object - http://stackoverflow.com/questions/996552/c-parse-malformed-xml – 2010-06-10 20:13:56

回答

2

在XML中,&應該是&否則它不是有效的XML。如果您無法控制XML文件,請將它們裝載爲文本,在內存中將&替換爲&(但請注意不要替換&,它們是實體的一部分,如現有的&><!),並將它們裝載爲XML再次。

+2

怎麼樣的字符像'♥ª☻n►♂@ô'? – BrunoLM 2010-09-29 16:31:18