我有一个包含名为Standplaatsen
的节点的XML文件。
我可以得到这些节点的集合。然后我想用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);
答案 0 :(得分:0)
:
doc()//\*:hoofdadres/\*:identificatie