2016-11-15 3 views
0

Я могу загрузить XML-файл, содержащий в нем следующие узлы. Я могу добраться до этого раздела узлов, используя GetElementsByTagName. Однако я не могу найти правильный синтаксис для получения дочернего узла. Я ищу, чтобы получить только текущую Crewbase.Как выбрать дочерний узел?

Используя следующий код, я получаю сообщение об ошибке «Объект не установлен в экземпляр объекта». Из моих исследований кажется, что это должно работать, поэтому я должен упустить что-то простое, но я просто не вижу его.

XML раздел

<Bid> 
<Current> 
    <Crewbase>DFW</Crewbase> 
    <EquipmentGroup></EquipmentGroup> 
</Current> 
<Next> 
    <Crewbase></Crewbase> 
    <EquipmentGroup></EquipmentGroup> 
    <EffectiveDate/> 
</Next> 
</Bid> 

Код:

XmlNodeList nodesCrewMember = xmlDoc.GetElementsByTagName("Bid"); 
foreach (XmlNode node in nodesCrewMember) 
{ 
    var crewBase = node.SelectSingleNode("/Current/Crewbase").InnerText; 
} 
+0

Ваш XML не начинается с '/ Current'. Он начинается с '/ Bid'. – Tomalak

ответ

0

Я работал с коллегой, и мы нашли эту работу. Я попробовал что-то подобное, но вначале не имел двух косых черт. Ключом стали две стартовые косые черты.

var crewBase = xmlDoc.SelectSingleNode("//Bid/Current/Crewbase").InnerText; 
+0

Вам нужно прочитать об основах XPath. Порыв на нем, пока он не работает, не является стратегией. – Tomalak

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