1. ホーム
  2. xpath

[解決済み] XPathでnot contains()を使うには?

2022-01-29 01:55:33

質問

このような構造を持つXMLがあります。

<whatson>
  <productions>    
    <production>
      <category>Film</category>
    </production>
    <production>
      <category>Business</category>
    </production>
    <production>
      <category>Business training</category>
    </production>
  </productions>
</whatson>

そして、私は"Business"を含まないカテゴリを持つすべてのプロダクションを選択する必要があります(したがって、この例では最初のプロダクションだけです)。

これはXPathで可能なのでしょうか?私はこの線で作業しようとしましたが、どこにも行きませんでした。

//production[not(contains(category,'business'))]

解決方法は?

XPathのクエリは大文字と小文字を区別します。あなたの例を見てみると (ところで、これは素晴らしいことです。もう誰も例を提供していないようです!) 、" business" を " Business" に変更するだけで、あなたが望む結果を得ることができました。

//production[not(contains(category,'Business'))]

ChromeでXMLファイルを開き、デベロッパーツールでXPathクエリを実行してテストしたところ、Filmカテゴリだけが返ってきました。