我想通过这个测试。我应该使用什么而不是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><Son>5</Son></Parent>"
显然编码标记内容。
我有一个带有标签的大常量字符串,我需要将其添加到XElement(因为我进一步使用它)。并希望使用一些比HttpUtility.HtmlDecode
更聪明的解决方案 - 只需添加解码后的字符串,而不是在添加后解码整个结果。
谢谢!
答案 0 :(得分:8)
尝试,
var element = new XElement("Parent");
foreach(string xml in list)
element.Add(XElement.Parse(xml));
你可能也想要你的断言......
Assert.IsTrue(element.ToString(SaveOptions.DisableFormatting) == ...
答案 1 :(得分:2)
您可以执行XElement.Parse
,然后添加如下:
var element = new XElement("Parent");
element.Add(XElement.Parse("<Sone>5</Sone>"));
Console.WriteLine(element.ToString(SaveOptions.DisableFormatting));
这为我提供了您正在寻找的输出。