0

兄弟ノードの人気が 8 未満のすべてのフォーマット ノード テキストを取得したい

<collection shelf="Classics">
<movie title="The Enemy" shelf="A">
   <type>War, Thriller</type>
   <format>DVD</format>
   <year>2001</year>
   <rating>PG</rating>
   <popularity>10</popularity>
   <description>Talk about a war</description>
</movie>
<movie title="Transformers" shelf="B">
   <type>Science Fiction</type>
   <format>DVD</format>
   <year>1980</year>
   <rating>R</rating>
   <popularity>7</popularity>
   <description>Science Fiction</description>
</movie>
   <movie title="Trigun" shelf="B">
   <type>Action</type>
   <format>DVD</format>
   <episodes>4</episodes>
   <rating>PG</rating>
   <popularity>10</popularity>
   <description>Quite a bit of action!</description>
</movie>
<movie title="Ishtar" shelf="A">
   <type>Comedy</type>
   <format>VHS</format>
   <rating>PG</rating>
   <popularity>2</popularity>
   <description>Boring</description>
</movie>
</collection>

これまでのところ、クエリを使用しています

/collection/movie[popularity[text() != '8' and text()!='9' and text()!=10]]/format/text()

これにより完璧な結果が得られますが、あまり印象的ではありません。xpathクエリで<演算子を使用すると、無効なxpath式が返されます

/collection/movie[popularity[text() &lt; 8]]/format/text()

< 演算子を使用して目的の結果を取得する方法

どんな助けでも大歓迎です

4

1 に答える 1

1

次の方法でキャストを試すことができますnumber()

/collection/movie[popularity[number(text()) < 8]]/format/text()
于 2015-09-21T11:56:17.767 に答える