带有xml字符串参数的XElement.SetElementValue并保留xml包装

时间:2014-01-22 16:22:38

标签: c#

是否可以通过已经序列化的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 个答案:

答案 0 :(得分: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);