此代码有什么问题
XDocument xDocument = new XDocument();
for (int i = 0; i < 5; i++)
{
xDocument.Element("PlayerCodes").Add(
new XElement("PlayerCode", i.ToString())
);
}
xDocument.Save(@"c:\test.xml");
我收到错误“对象引用未设置为对象的实例。”
基本上我想创建xml文件。它不存在
请帮忙
答案 0 :(得分:6)
文档中没有任何内容,因此XDocument.Element(“PlayerCodes”)显示为null。
首先加载文档。
或者这样做
XDocument xDocument = new XDocument();
for (int i = 0; i < 5; i++)
{
if( XDocument.Element("PlayerCodes") == null)
{
XDocument.Add(new XElement("PlayerCodes"));
}
xDocument.Element("PlayerCodes").Add(new XElement("PlayerCode", i.ToString()));
}
xDocument.Save(@"c:\test.xml");
答案 1 :(得分:2)
创建同一文档的更简洁方法如下所示:
var doc = new XDocument(
new XElement("PlayerCodes",
Enumerable.Range(0, 5).Select(i => new XElement("PlayerCode", i))
)
);
doc.Save(@"c:\test.xml");
答案 2 :(得分:0)
您应首先将“PlayerCodes”元素添加到XDocument中。