我正在尝试创建一个新的xml文件,将数据写入其中而不是保存。
以下是代码:
XmlDocument doc= new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);
doc.AppendChild(dec);
XmlElement rootnode = doc.CreateElement("Root");
foreach (var item in list)
{
XmlElement parent = ordersNIA.CreateElement("ParentElement");
XmlElement childOne = ordersNIA.CreateElement("childOne");
childOne.InnerText = "This is the first child";
parent.AppendChild(childOne);
XmlElement childTwo = ordersNIA.CreateElement("childTwo");
childOne.InnerText = "This is the second child";
parent.AppendChild(childTwo);
XmlElement childThree = ordersNIA.CreateElement("childThree");
childOne.InnerText = "This is the third child";
parent.AppendChild(childThree);
rootnode.AppendChild(parent);
}
doc.DocumentElement.AppendChild(rootnode);
doc.Save("xmlDocument.xml");
行doc.DocumentElement.AppendChild(rootnode);
是抛出
“对象引用未设置为对象的实例”
我一直在网上看,但我似乎没有找到为什么抛出这个错误的答案。
当我检查rootnode时,我看到它的innerHTML完全填满了我的xml,所以这似乎是正确的。我没有看到任何空对象,但也许我错过了什么
非常感谢任何帮助。
答案 0 :(得分:4)
您还没有文档元素,因为您添加的唯一子元素是声明。替换
doc.DocumentElement.AppendChild(rootnode);
使用:
doc.AppendChild(rootnode);