0

我整天都在努力解决这个问题……也许你可能知道路。

我正在尝试制作一个 XPATH,它由一个明确且明确的 xpath 以及所引用的叶子元素中的数据项组成。

/bookstore[3]/book[4]/title将是 xpath 的一个很好的例子。

这应该返回第三书店中第四本书的标题。假设这很好,

但是,我想将标题嵌入其中 - 无论我尝试哪种方式,它似乎都会出错。目的是在我的应用程序中创建一个有效的 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

第一个表达式将返回“Some Text 4”,使用下面的 xml 进行评估。
第二个表达式将返回“title4”,使用下面的 xml 进行评估。

<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 回答