我有一个 XPath 可以选择我想要的类://div[@class='myclass']
. 但它返回给我整个 div (<div class='myclass'>
还有,但我想只返回这个标签的内容而不返回标签本身。我该怎么做?
问问题
86872 次
4 回答
44
node() = innerXml
text() = innerText
两者都是数组,text()[1]
第一个子文本节点也是如此......
于 2012-06-05T14:08:39.247 回答
35
使用 xpath,您将得到返回的东西是路径中最后一个不是条件的东西。那是什么意思?好吧,条件是[]
's 之间的东西(但你已经知道了)和你的读起来像pathElement[有一个 'class' 属性,值为 'my class' ]。pathElement 直接出现在[
.
's then之外的所有东西[]
都是路径,所以在//a/b/c[@blah='bleh']/d
a,b,c和d都是路径元素,blah是属性,bleh是文字值。如果此路径匹配,它将返回一个d,即最后一个非条件事物。
您的特定路径返回一个(系列)div,这是您的 xpath 路径中的最后一件事。因此,此返回值包括顶级节点,在您的情况下为div,以及它(它们)下面的所有(它们的)子节点。节点可以是元素或文本(或注释、处理指令……)。
在一个节点下面可以有多个文本节点,因此数组 pOcHa 谈论。x/text()
返回作为 x 的直接子节点的所有文本,x/node()
返回所有子节点,包括文本。
于 2012-06-05T14:48:34.500 回答
9
旧的常见问题的新答案:
对于这个 XML
<div class="myclass">content</div>
您可以使用 XPath 通过content
以下两种方式之一进行选择:
于 2017-10-06T19:42:44.453 回答
4
于 2014-11-14T11:49:12.940 回答