2016-04-26 3 views
0

同じ名前のノードを複数回使用すると、XMLファイルの特定のノードを選択する方法はありますか?同じ名前のノードが2つ以上ある場合、特定のノードをXMLドキュメントから選択してください。

たとえば、IBANという名前のノードの値を選択したいとします。しかし、私は他の2つのノードの子として2倍にしています。

私はIBANという名前のノードを取得していますが、それはもちろん最初のものです。

public string GetIBANValueFromXML(XmlDocument xmlDoc) 
{ 
    string ibanValue = ""; 
    XmlNodeList xnList = xmlDoc.SelectNodes("/Element[@*]"); 

    if (xnList != null) 
    { 
     foreach (XmlNode xn in xnList) 
     { 
      XmlNode ibanNode = xn.SelectSingleNode("IBAN"); 
      if (ibanNode != null) 
      { 
       ibanValue = ibanNode.InnerText; 
      } 
     } 
    } 
    return ibanValue; 
} 

これを達成する明確な方法がある場合は、この機能を使用するが、2番目のIBANノード値を返すには?

+0

[同じ名前を持つノードから値を取得します]の可能複製(http://stackoverflow.com/questions/16470157/get-value-from-node-with-same-name) –

答えて

0

あなたはElementという名前のルート要素の第二IBAN子要素を選択するために、XPath /Element/IBAN[2]を使用することができます。

XmlNode ibanNode = xmlDoc.SelectSingleNode("/Element/IBAN[2]"); 
if (ibanNode != null) { ... } 
関連する問題