2014-01-10 6 views
0

Я получаю эту ошибку при попытке добавить узел к существующему элементу в свой XML-документ. Ошибка: ссылка объекта не установлена ​​в экземпляр объекта.Добавление узла в существующий элемент xml

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

Код:

XmlDocument xDoc = new XmlDocument(); 

xDoc.Load("C:\\Houseplans.xml"); 

XmlElement xhousing = xDoc.DocumentElement["houses/house[@windowsc=\"three\"]/windows"]; 
XmlNode xName = xDoc.CreateElement("Name"); 
xName.InnerText = "hi"; 
xhousing.AppendChild(xName); 
+1

Что отладчик сказать? –

+0

Можете ли вы использовать LINQ to XML? –

+0

Произошло исключение типа 'System.NullReferenceException' Дополнительная информация: Ссылка на объект не установлена ​​в экземпляр объекта. – Josh

ответ

1

Вы хотите использовать SelectSingleNode:

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

yup thats correct. Спасибо, Джонси. – Josh

+1

Обратите внимание, что // дом отличается от/дома/дома. –

Смежные вопросы