首页 > 解决方案 > xpath 将每个后代拉到嵌套目标标记旁边

问题描述

我的 xml 文件如下所示:

<root>

  <a>
    <b> test </b>
      <a> test 2</a>

      <c> test 3 </c>
     <d> test4 </d>
     <e> test5
        <f> test6 </f>
        </e>
    </a>

</root>

<a>是否有任何 xpath 1.0 可以捕获除嵌套之外的每个后代<a>?我试过类似的东西:

//a/*[not(self::a)]

//a/descendant::*

标签: xmlxpathxpath-1.0

解决方案


你的尝试//a/*[not(self::a)]很接近。

问题是您正在匹配a.

试试这个:

//a//*[not(self::a)]

推荐阅读