xpath表达式,用于根据条件比较和评估值

时间:2013-12-16 06:24:36

标签: xpath

<School>
    <Child_One>
        <Subject>
            <name>computers</name>
            <marks>55</marks>
            <name>mathematics</name>
            <marks>44</marks>
        </Subject>
        <Child_One>
            <Child_Two>
                <name>computers</name>
                <marks>66</marks>
                <name>mathematics</name>
                <marks>77</marks>
            </Child_Two>
</School>

任何人都可以帮我找到Child_One主题名称,其中得分最高

由于

1 个答案:

答案 0 :(得分:1)

首先是一些格式化的东西:

  • 您的XML格式不正确。它应该具有相同的开始和结束标记
  • 我认为Subject元素应该与发布后的内容不同
  • 发布输入XML时,不要使用反引号,而是使用4个空格缩进XML以在Stackoverflow上格式化它

我使用并将输入XML更改为:

<?xml version="1.0" encoding="UTF-8"?>
<School>
    <Child_One>
        <Subject>
            <name>computers</name>
            <marks>55</marks>
        </Subject>
        <Subject>
            <name>mathematics</name>
            <marks>44</marks>
        </Subject>
    </Child_One>
    <Child_Two>
        <Subject>
            <name>computers</name>
            <marks>66</marks>
        </Subject>
        <Subject>
            <name>mathematics</name>
            <marks>77</marks>
        </Subject>
    </Child_Two>
</School>

使用XPath 2.0,您可以使用以下内容查找最大值:

/School/Child_One/Subject[marks = max(/School/Child_One/Subject/marks)]/name

使用XPath 1.0,您可以使用以下内容(将<替换为>以查找最低值):

/School/Child_One/Subject[not(marks < /School/Child_One/Subject/marks)][1]/name