Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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_Nullreferenceexception - Fatal编程技术网

C# 向现有xml元素添加节点

C# 向现有xml元素添加节点,c#,xml,nullreferenceexception,C#,Xml,Nullreferenceexception,尝试将节点附加到xml文档中的现有元素时出现此错误。错误为:对象引用未设置为对象的实例 <houses> <house windowsc="three"> <wind>0</wind> <windows> </windows> </house> </houses> 要使用SelectSingleNode: XmlNode xhousing = xDoc.SelectS

尝试将节点附加到xml文档中的现有元素时出现此错误。错误为:对象引用未设置为对象的实例

<houses>
  <house windowsc="three">
    <wind>0</wind>
    <windows>
    </windows>
  </house>
</houses>

要使用SelectSingleNode:

XmlNode xhousing = xDoc.SelectSingleNode(@"//house[@windowsc='three']/windows");
XmlNode xName = xDoc.CreateElement("Name");
xName.InnerText = "hi";
xhousing.AppendChild(xName);

调试器说了什么?您可以使用LINQ to XML吗?发生了“System.NullReferenceException”类型的异常附加信息:对象引用未设置为对象的实例。您的
xhousing为null
,您的xpath没有获得node@Josh看起来
xhousing
null
注意//house不同于/houses/house。
XmlNode xhousing = xDoc.SelectSingleNode(@"//house[@windowsc='three']/windows");
XmlNode xName = xDoc.CreateElement("Name");
xName.InnerText = "hi";
xhousing.AppendChild(xName);