如何选择子节点?

时间:2016-11-15 18:27:37

标签: xml xml-parsing

我能够加载包含以下节点的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;
}

1 个答案:

答案 0 :(得分:0)

我和一位同事一起工作,我们发现这个有用。我尝试了类似的东西,但开头没有两个正斜杠。两个起始斜线是关键。

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