2012-11-05 23 views
2

是不是使用XElement.Parse解析XML的方法,它不會將實體轉換爲字符?如何使用XElement.Parse解析XML而不查看/更改實體到字符?

例如:

var xmlText = "<name><firstname>Willi&aacute;ms</firstname></name>"; 

,如果我解析這個使用下面的:

var element = XElement.Parse(xmlText); 
var firstname = element.Element("firstname"); 

解析後,現在firstname值是 「威利&aacute; MS」

哪有我忽略那些要改變的實體?

回答

1

字符「&」在XML元素中是非法的。 「&」將產生錯誤,因爲解析器將其解釋爲字符實體的開始。

要糾正,你的XML應該使用CDATA:

var xmlText = "<name><firstname><![CDATA[Willi&aacute;ms]]></firstname></name>"; 
+0

我如何檢查這一點,如果我讀這些標籤在個XML的輸入? – lexeRoy

+1

@AllanRoyMalibiranBalderama:你不檢查任何東西,你的代碼工作 –

+0

,但我打算使用XMLViewer預覽XML。這個過程將隱藏實體... – lexeRoy