将XElement添加到XDocument
本文关键字:XDocument 添加 XElement | 更新日期: 2023-09-27 18:06:52
我试图使用LINQ动态添加元素到根,它以前是工作的。但它返回"对象引用未设置为对象的实例"。它只能手动创建新的XElement实例。
try
{
XDocument xdoc = XDocument.Load(_documentName);
XElement _newElements = new XElement(_rowName);
foreach(string s in _commaSeparatedNameValues)
{
_newElements.Add(new XElement( s.Split(',')[0], s.Split(',')[1]));
}
xdoc.Element(_rowName).Add(_newElements);
xdoc.Save(_documentName);
}
catch(Exception ex)
{
string s = ex.Message;
}
XDocument xdoc = XDocument.Load(_documentName);
XElement _newElements = new XElement(_rowName);
...
xdoc.Element(_rowName).Add(_newElements);
您从未将_newElements添加到xdoc中,因此xdoc.Element(_rowName)
将是null
。
否则,它就会试图为自己添加一个元素。
未测试的修复:
//xdoc.Element(_rowName).Add(_newElements);
xdoc.Add(_newElements);
或更可能:
xdoc.Root.Add(_newElements);