2011-08-04 7 views
0

ノードがStandplaatsenというXMLファイルがあります。 私はこれらのノードの集合を得ることができます。次に、foreachループを使ってこのコレクションにドリルダウンし、ノードコレクション内の別々のノードを確認します。XMLNodesコレクション内のxQuery単一XMLNode

foreach (XmlNode XMLNode in XMLNodes) 
{ 
    //This will be found nicely 
    string test1 = XMLNode["bag_LVC:identificatie"].InnerXml.ToString(); 
    //This will cause a NULL reference with or without a leading '//' 
    string test2 = XMLNode["bag_LVC:gerelateerdeAdressen/bag_LVC:hoofdadres/bag_LVC:identificatie"].InnerXml.ToString(); 
    // This will get the element BUT it will only get the same 
    // first element whatever node is procesed 
    string xPathExpression = "//bag_LVC:gerelateerdeAdressen/bag_LVC:hoofdadres/bag_LVC:identificatie"; 
    XmlElement Hoofdadres = (XmlElement)XMLNode.SelectSingleNode(xPathExpression, ns); 
} 

誰もが、各ノードのhoofdadres\identificatie要素の正しい値を取得する方法を知っています。

例XML:

 <xb:antwoord> 
     <xb:producten> 
     <product_LVC:LVC-product> 
     <bag_LVC:Standplaats> 
      <bag_LVC:gerelateerdeAdressen> 
      <bag_LVC:hoofdadres> 
       <bag_LVC:identificatie>1883200000020771</bag_LVC:identificatie> 
      </bag_LVC:hoofdadres> 
      </bag_LVC:gerelateerdeAdressen> 
     <bag_LVC:identificatie>1883030000000010</bag_LVC:identificatie> 
     </bag_LVC:Standplaats> 

     <bag_LVC:Standplaats> 
      <bag_LVC:gerelateerdeAdressen> 
      <bag_LVC:hoofdadres> 
       <bag_LVC:identificatie>1883200000015663</bag_LVC:identificatie> 
      </bag_LVC:hoofdadres> 
      </bag_LVC:gerelateerdeAdressen> 
     <bag_LVC:identificatie>1883030000000011</bag_LVC:identificatie> 
     </bag_LVC:Standplaats> 
     </product_LVC:LVC-product> 
     </xb:producten> 
     </xb:antwoord> 

更新

私は//*:hoofdadres/*:identificatieが、私はそれが私をトラブル一部だ

//*:hoofdadres/*:identificatie' has an invalid token. 

例外を持って使用する場合:

// This will get the element BUT it will only get the same 
// first element whatever node is processed 
string xPathExpression = "//bag_LVC:gerelateerdeAdressen/bag_LVC:hoofdadres/bag_LVC:identificatie"; 
XmlElement Hoofdadres = (XmlElement)XMLNode.SelectSingleNode(xPathExpression, ns); 

答えて

0

:純粋なxquery:

doc()//\*:hoofdadres/\*:identificatie 
関連する問題