0

私は一日中この問題について頭を悩ませてきました...おそらくあなたは道を知っているかもしれません.

明示的で明確な xpath と、参照されるリーフ子要素のデータ項目で構成される XPATH を作成しようとしています。

/bookstore[3]/book[4]/titlexpath の良い例です。

これにより、3 番目の書店にある 4 番目の本のタイトルが返されます。これでよかったとして、

しかし、これにタイトルを埋め込みたいのですが、どの方法を試してもうまくいかないようです。目的は、アプリケーションで有効な xpath であるエラー コードを作成し、問題のあるアイテムの場所と値を表示することです。

したがって、明らかな最初の試みは次のとおりです。

/bookstore[3]/book[title="oxford dictionary]/title

これは良いことですが、書店には何百ものオックスフォード辞書があり、4 番だけが必要です。

だから私はこれらのような多くの変種を試しました...そしてすべてオンライン構文チェッカーに失敗しました。

/bookstore[3]/book[[4] and title="oxford dictionary]/title
/bookstore[3]/book[4]/title | /bookstore[3]/book[title=oxford dictionary]/title

明示的な XPATH を含めてリーフ要素のコンテンツに追加する方法についての提案は大歓迎です。

敬具 CR.

4

1 に答える 1

0
  1. タグ本体のテキストコンテンツを取得するには、使用できます /bookstore/book[@title="oxford dictionary"][4]/title/text()

  2. タグの属性のテキストコンテンツを取得するには、使用できます /bookstore/book[@title="oxford dictionary"][4]/attribute::name

最初の式は、以下の xml で評価される "Some Text 4" を返します。
2 番目の式は、次の xml で評価された "title4" を返します。

<bookstore>
    <book title="oxford dictionary">
        <title name="title1">Some Title 1</title>
    </book>
    <book title="oxford dictionary">
        <title name="title2">Some Title 2</title>
    </book>
    <book title="oxford dictionary">
        <title name="title3">Some Title 3</title>
    </book>
    <book title="oxford dictionary">
        <title name="title4">Some Title 4</title>
    </book>
</bookstore>
于 2012-05-04T16:03:43.680 に答える