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 に答える