5

我需要获取<mathcolor>元素值为 2 的元素<colorvalue>值。请更正下面给出的 Xpath 表达式:

Xpath 表达式尝试:

/colors/child::color/child::mathcolor[colorvalue='2']

示例 XML:

<?xml version="1.0"?>
<colors>
    <color>
        <mathcolor>#007dc5</mathcolor>
        <textcolor>C=100 M=40 Y=0 K=0</textcolor>
        <colorvalue>2</colorvalue>
    </color>
    <color>
        <mathcolor>#ed1b34</mathcolor>
        <textcolor>C=0 M=100 Y=85 K=0</textcolor>
        <colorvalue>3</colorvalue>
    </color>
</colors>
4

2 回答 2

3

差不多,试试这个:

/colors/child::color[colorvalue='2']/child::mathcolor/text()

或更简单

/colors/color[colorvalue='2']/mathcolor/text()
于 2013-04-04T13:18:20.363 回答
0

我更喜欢首先使用 //mathcolor 来定位您想要的实际元素。剩下的就是说,如果你继续向下结构,你会看到一个名为 colorvalue 的以下兄弟节点,其文本节点 = 2。

//mathcolor[./following-sibling::colorvalue[./text()='2']]
于 2016-04-27T15:53:34.680 回答