如何将子元素作为解码字符串添加到XElement?

Dmi*_*kin 4 .net c# xml xelement linq-to-xml

我想通过这个测试.我应该使用什么而不是Add方法?

[TestMethod]
public void AddContentWithoutEncoding()
{
   var element = new XElement("Parent");

   element.Add("<Son>5</Son>");

   Assert.IsTrue(element.ToString() == "<Parent><Son>5</Son></Parent>");
}
Run Code Online (Sandbox Code Playgroud)

使用当前的方法element.ToString() = "<Parent>&lt;Son&gt;5&lt;/Son&gt;</Parent>"显然编码标签内容.

我有一个带有标签的大常量字符串,我需要将其添加到XElement(因为我进一步使用它).并且想要使用一些聪明的解决方案HttpUtility.HtmlDecode- 只需添加解码后的字符串,而不是在添加后解码整个结果.

谢谢!

Chu*_*age 8

尝试,

var element = new XElement("Parent");
foreach(string xml in list)
    element.Add(XElement.Parse(xml));
Run Code Online (Sandbox Code Playgroud)

你可能也想要你的断言......

Assert.IsTrue(element.ToString(SaveOptions.DisableFormatting) == ...
Run Code Online (Sandbox Code Playgroud)