2016-11-15 3 views
0

다음 노드가 포함 된 XML 파일을로드 할 수 있습니다. GetElementsByTagName을 사용하여 노드의이 섹션으로 이동할 수 있습니다. 그러나, 나는 올바른 노드 노드를 얻으려면 구문을 찾을 수 없습니다. 현재 크루즈 기지 만 얻으려고합니다.하위 노드는 어떻게 선택합니까?

다음 코드를 사용하면 "개체가 개체의 인스턴스로 설정되지 않았습니다."오류가 발생합니다. 내 연구에서 이것이 작동해야하는 것처럼 보이기 때문에 나는 간단한 것을 놓치고 있어야하지만 나는 그것을 보지 않고있다.

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

관련 문제