C# XElement XML ToString格式不正确[]

C# XElement XML ToString格式不正确[],c#,xml,C#,Xml,所以我正在解析一些xml。我创建XElement并运行ToString()方法。我看着结果,他们都错了 <root>[elementName, ElementValue ]</root> 您必须添加新创建的元素:root.add(元素)。旁注:你永远不会得到你想要的,因为你从来没有创建过一个子元素value。相反,你会得到值。我认为@jeroenvanevel抓住了重点=>添加(元素) <root> <data name="Name">

所以我正在解析一些xml。我创建XElement并运行
ToString()
方法。我看着结果,他们都错了

<root>[elementName, ElementValue ]</root>

您必须添加新创建的元素:
root.add(元素)。旁注:你永远不会得到你想要的,因为你从来没有创建过一个子元素
value
。相反,你会得到
。我认为@jeroenvanevel抓住了重点=>
添加(元素)
<root>
  <data name="Name">
    <value>Value</value>
  </data>
</root>
    string WriteXml(Dictionary<string, string> dic)
    {
        var root = new XElement("root");

        foreach (var pair in dic)
        {
            var element = new XElement("data", pair.Value);
            element.Add(new XAttribute("name", pair.Key));
            root.Add(pair);
        }

        var doc = new XDocument(new XDeclaration("1.0", "utf-8", null), root);

        var s = doc.ToString();
        Console.WriteLine(s);

        return doc.ToString();
    }