4

我想通过这个测试。我应该使用什么来代替 Add 方法?

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

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

   Assert.IsTrue(element.ToString() == "<Parent><Son>5</Son></Parent>");
}

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

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

谢谢!

4

2 回答 2

10

尝试,

var element = new XElement("Parent");
foreach(string xml in list)
    element.Add(XElement.Parse(xml));

你可能还想在你的断言中......

Assert.IsTrue(element.ToString(SaveOptions.DisableFormatting) == ...
于 2012-07-16T23:03:18.597 回答
2

你可以这样做XElement.Parse,然后像这样添加:

var element = new XElement("Parent");

element.Add(XElement.Parse("<Sone>5</Sone>"));

Console.WriteLine(element.ToString(SaveOptions.DisableFormatting));

这给了我你正在寻找的输出。

于 2012-07-16T23:12:48.933 回答