XPath选择带排除的元素(带有多个子元素)

时间:2012-12-13 18:48:59

标签: xml xpath

我有以下类型的XML: -

  <tagCategory name="Bike" id="10">
  </tagCategory>
  <tagCategory name="Cars" id="22">
    <excludedClass>NonDriver</excludedClass>
    <excludedClass>BannedFromDriving</excludedClass>
  </tagCategory>
  <tagCategory name="PogoStick" id="5">
<excludedClass>NoLegs</excludedClass>
  </tagCategory>

我想在我可以说的地方运行查询: -

给我所有的excludedClass不是X的tagCategory元素。例如: -

  • 给我所有的exceptClass不是'NoLegs'的tagCategory元素应该返回Cars和Bike。
  • 向我提供所有tagCategory元素,其中excludedClass不是'BannedFromDriving'应该返回Bike和PogoStick。
  • 向我提供所有tagCategory元素,其中excludedClass不是'NonDriver'应该返回Bike和PogoStick。

我正在使用当前的XPath,它只使用一个excludedClass处理元素,但是存在多个,它不会像我期望的那样过滤掉项目。

"//tagCategory[excludedClass!='" + classification + "' or not(excludedClass)]"

有没有人有任何想法我如何修改我的XPath来提供我需要的东西?

真的很感激任何想法。

亲切的问候,

菲尔。

1 个答案:

答案 0 :(得分:0)

尝试使用以下内容:

//tagCategory[not(excludedClass='NonDriver')]

示例:

//tagCategory[not(excludedClass='" + classification + "')]