0

我正在尝试使用 C# 创建 XML,并且我知道创建 XML 的传统方法,例如

XmlDocument doc = new XmlDocument();
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.InsertBefore(xmlDeclaration, doc.DocumentElement);

XmlElement element1 = doc.CreateElement("", "body", "");
doc.AppendChild(element1);

XmlElement element2 = doc.CreateElement("", "type", "");
element1.AppendChild(element2);

XmlElement element3 = doc.CreateElement("", "Numbers", "");
element2.AppendChild(element3);
XmlElement element4 = doc.CreateElement("", "one", "");
XmlText text1 = doc.CreateTextNode("1");
element4.AppendChild(text1);
element3.AppendChild(element4);

现在我希望元素是 XMLelement 列表,文本是 XMLtext 列表。我在使用列表时附加元素的子节点时遇到问题。

 List<XmlElement> elements = new List<XmlElement>() {doc.CreateElement("", "type" ,""),doc.CreateElement("", "numbers" ,""),doc.CreateElement("", "one" ,""),doc.CreateElement("", "two" ,"") };

foreach (var elementss in elements)
{
    elementss.AppendChild(elementss);
    Console.WriteLine(elementss.ChildNodes);
}

请澄清我在这种情况下实施清单是否正确..??? 任何帮助将不胜感激。

4

2 回答 2

2

Linq to XML(您正在寻找的名称)有一种创建 XML 文档的方法,该方法可以比旧的 System.Xml 方法更好地格式化。

也许这样的东西可能更容易使用:

var doc = new XElement("body", 
                  new XElement("type"),
                      new XElement("Numbers",
                          new XElement("one", 1)
                      )
                  )
              );
于 2013-09-17T11:36:34.907 回答
0

我不太清楚你为什么要在其中添加一个项目

elementss.AppendChild(elementss);

但是,不要将新元素添加到列表中,而是添加现有的元素:

foreach(XmlNode elements in doc.ChildNodes)
{
    Console.WriteLine(elementss.ChildNodes);
}
于 2013-09-17T11:31:06.447 回答