2014-01-22 39 views
0

可以通過已經序列化的XML字符串來設置元素值嗎?XElement.SetElementValue帶有xml字符串參數並保留xml包裝

var obj = new XElement("object"); 
obj.SetElementValue("InnerXml", "<testXml>Test_data</testXml>"); 

結果是:

<object> 
    <InnerXml>&lt;testXml &gt;Test_data &lt;/testXml&gt;</InnerXml> 
</object> 

但我想獲得這個:

<object> 
    <InnerXml><TestXml>Test_data</TestXml></InnerXml> 
</object> 

回答

1

應立即創建每個元素,並將它們添加到根元素。如果要加載的字符串動態,你可以使用XElement.Parse Method (String)

像這樣

 var obj = new XElement("object"); 
     //obj.SetElementValue("InnerXml", "<testXml>Test_data</testXml>"); 
     XElement elt = new XElement("InnerXml"); 
     obj.Add(elt); 
     XElement elt2 = XElement.Parse("<testXml>Test_data</testXml>"); 
     elt.Add(elt2); 
+0

那是不可能的。該字符串不是靜態的。所以我不能硬編碼它。這個testxml只是一個例子。 – speti43

+0

你的意思是不是靜態的 –

+0

它可以是任何其他的XML。 – speti43