Tom*_*ski 32 xml xpath parsing html-parsing
我有一个XPath来选择我想要的类://div[@class='myclass'].但它返回给我整个div(<div class='myclass'>也有,但我想只返回这个标签的内容而没有标签本身.我怎么能这样做?
Nik*_*vić 41
node() = innerXml
text() = innerText
Run Code Online (Sandbox Code Playgroud)
两者都是数组,所以text()[1]是第一个子文本节点...
jos*_*jos 34
使用xpath,您将返回的内容是路径中不是条件的最后一件事.那意味着什么?好吧,条件是两者之间的东西[](但你已经知道了),你的内容就像pathElement一样[ 具有'class'属性,值为'my class' ].pathElement直接来自[.
[]那时所有的东西都是路径,所以在//a/b/c[@blah='bleh']/d a,b,c和d都是路径元素,blah是一个属性,并且是一个文字值.如果此路径匹配,它将返回一个d,最后一个非条件的东西.
您的特定路径返回一系列(div),是xpath路径中的最后一个.因此,此返回值包括顶级节点,在您的情况下为div,在其下面(它们)包括其所有(他们的)子节点.节点可以是元素或文本(或注释,处理指令,......).
在节点下面可以有多个文本节点,因此数组pOcHa谈论.x/text()返回作为x的直接x/node()子节点的所有文本,返回所有子节点,包括文本.
希望这可以帮助.
针对旧的常见问题的新答案:
对于此XML
<div class="myclass">content</div>
Run Code Online (Sandbox Code Playgroud)
您可以使用XPath通过content以下两种方式之一进行选择:
文本节点选择
这个XPath
//div[@class='myclass']/text()
Run Code Online (Sandbox Code Playgroud)
将根据要求选择目标div元素
的文本节点子级content。
元素的字符串值
这个XPath
string(//div[@class='myclass'])
Run Code Online (Sandbox Code Playgroud)
将再次根据要求返回目标元素的
字符串值。divcontent
进一步的信息:这是一条注释,解释元素的字符串值:
| 归档时间: |
|
| 查看次数: |
72980 次 |
| 最近记录: |