2016-11-15 12 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

私は同僚と協力し、我々はこれが機能することが判明。私は似たようなことを試しましたが、始めにスラッシュが2つありませんでした。 2つの開始スラッシュがキーでした。

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

XPathの基本を読んでおく必要があります。それがうまくいくまでそれを打つことは戦略ではありません。 – Tomalak

関連する問題