Один xQuery XMLNode в коллекции XMLNodes

У меня есть файл XML, содержащий узел с именем Standplaatsen. Я могу получить коллекцию этих узлов. Затем я хочу углубить его в эту коллекцию с помощью цикла foreach и проверить каждый отдельный узел в коллекции узлов.

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);

person Bram    schedule 04.08.2011    source источник


Ответы (1)


в чистом xquery:

doc()//\*:hoofdadres/\*:identificatie
person Dennis    schedule 05.08.2011