使用XPath验证xml节点值

时间:2014-06-02 11:19:56

标签: xpath

我有一个XML结构,如下所示:

<a>
  <b>
    <c>123</c>
    <d>
      <e>
        <f>
          <g>1</g>
        </f>
        <h>
          <i>2</i>
        </h>
        <j>
          <k>
            <l>1.2</l>
          </k>
          <m>
            <n>34</n>
            <o>String</o>
          </m>
        </j>
      </e>
    </d>
  </b>
  <b>
    <c>456</c>
    <d>
      <e>
        <f>
          <g>7</g>
        </f>
        <h>
          <i>6</i>
        </h>
        <j>
          <k>
            <l>4.5</l>
          </k>
          <m>
            <n>43</n>
            <o>String 2</o>
          </m>
        </j>
      </e>
    </d>
  </b>
</a>

所有节点都是重复的和我不确定他们重复的顺序 例如:节点c:123或456在我的回复中,任何东西都可能排在第一位

我想比较一下,如果C = 123则g = 1,如果c = 456那么g = 7 以及进入节点b的所有后续节点

到目前为止,我已尝试过此选项,但无法断言g

的值

选项: / A / B / [@ C = 123] / A / B / d / E / F / G /文本()= 1

1 个答案:

答案 0 :(得分:0)

这样的事情:

boolean(/a/b/c[.="123"]/following::g[1] = "1")

boolean(/a/b/c[.="456"]/following::g[1] = "7")