Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#列表中创建XML_C#_Xml - Fatal编程技术网

在C#列表中创建XML

在C#列表中创建XML,c#,xml,C#,Xml,我正在尝试使用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("",

我正在尝试使用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);
}
List elements=new List(){doc.CreateElement(“,”type“,”),doc.CreateElement(“,”number“,”),doc.CreateElement(“,”一“,”),doc.CreateElement(“,”二“,”)};
foreach(元素中的变量元素)
{
elementss.AppendChild(elementss);
Console.WriteLine(elementss.ChildNodes);
}
请澄清我在这种情况下实施列表是否正确。。???
任何帮助都将不胜感激。

我不太清楚您为什么要在中添加项目

elementss.AppendChild(elementss);
但是,不要向列表中添加新元素,而是添加现有的元素:

foreach(XmlNode elements in doc.ChildNodes)
{
    Console.WriteLine(elementss.ChildNodes);
}

LINQtoXML是您正在寻找的名称,它有一种创建XML文档的方法,这种方法可以比旧的System.XML方法更好地格式化

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

var doc = new XElement("body", 
                  new XElement("type"),
                      new XElement("Numbers",
                          new XElement("one", 1)
                      )
                  )
              );

关于将变量类型转换为XmlNodeListThank,我遇到了一个错误。我之前就知道这一点。我正在尝试找到一种替代传统XmlDocument方法的方法。Linq to XML就是这种替代方法,除非您想进行序列化。