我正在尝试使用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);
}
请澄清我在这种情况下是否正确实施清单.. ??? 任何帮助将不胜感激。
答案 0 :(得分:2)
Linq to XML,这是您正在寻找的名称,它有一种创建XML文档的方法,可以比旧的System.Xml方式更好地格式化。
也许这样的事情可能更容易使用:
var doc = new XElement("body",
new XElement("type"),
new XElement("Numbers",
new XElement("one", 1)
)
)
);
答案 1 :(得分:0)
我不太清楚为什么要在
中添加一个项目elementss.AppendChild(elementss);
但是,不是添加新元素到列表中,而是添加存在的元素:
foreach(XmlNode elements in doc.ChildNodes)
{
Console.WriteLine(elementss.ChildNodes);
}