访问属性值xpath

时间:2016-08-04 15:57:54

标签: xml xpath

我试图从这个xml片段中访问经度值(-1.914),其中itemfileUID = 2000044,使用vba中的xpath查询[via Set latitudes = oXMLFile.SelectNodes(" // ViewCoordinates [itemFileUID =&## 39; 2000044'] / ViewCoordinatePair [@name ='纬度'] / @值")。]有人可以帮忙吗?

我已搜索并搜索但未找到基于同一节点中元素内容查找属性值的方法。

由于 汤姆

<schema>
    <view>
        <ViewCoordinatesList>
            <ViewCoordinates>
                <itemFileUID>2000044</ItemFileUID>
                <ViewCoordinatePair name="longitude" value="-1.91496237"/>
                <ViewCoordinatePair name="latitude" value="53.70811065"/>
                <ViewCoordinatePair name="height" value="136.06"/>
                <ViewCoordinatePair name="yaw" value="168.083809"/>
            </ViewCoordinates>
        </ViewCoordinatesList>
    </view>
</schema>

2 个答案:

答案 0 :(得分:2)

使用following-sibling axis

//itemFileUID[. = '2000044']/following-sibling::ViewCoordinatePair[@name = 'longitude']/@value

或者,检查父母:

//ViewCoordinates[itemFileUID = '2000044']/ViewCoordinatePair[@name = 'longitude']/@value

答案 1 :(得分:0)

这是解决方案:

Set latitude = oXMLFile.SelectNodes("/schema/View/ViewCoordinatesList/ViewCoordinates[ItemFileUID = '2000044']/ViewCoordinatePair[@name = 'longitude']")
MsgBox latitude(0).getAttribute("value")

感谢人们的帮助