使用XPath验证xml节点值



我有一个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/text () = 1

像这样:

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

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

最新更新