如何选择元素a
中的最后一个文本?
该元素可以有子元素。
<a>bla di bla <b>foo bar</b> yes!</a>
应该给我“是的!”和
<a>bla di bla <b>foo bar</b></a>
应该给我“ foo bar”和
<a>bla di bla</a>
应该给我“ bla die bla”
答案 0 :(得分:1)
此XPath,
(/a//text())[last()]
将在a
的文本节点后代中选择最后一个文本节点。
更新:OP指出文档中可能有多个a
元素,并希望为每个a
元素选择最后一个文本节点。< / p>
此XPath 2.0表达式
for $a in //a
return ($a//text())[last()]
将满足更新的要求。
答案 1 :(得分:1)
我将使用//a/descendant::text()[last()]
,它选择了三个文本节点
yes!
foo bar
bla di bla
在样本中
<body>
<a>bla di bla <b>foo bar</b> yes!</a>
<a>bla di bla <b>foo bar</b></a>
<a>bla di bla</a>
</body>
在https://xqueryfiddle.liberty-development.net/nbUY4kn上使用XQuery的在线示例。
建议的路径表达式//a/descendant::text()[last()]
适用于XPath 1和更高版本。
答案 2 :(得分:-1)
使用此Xpath:
data %>%
group_by(Class) %>%
mutate(run=row_number()) %>%
melt(id.vars = c("Class", "run")) %>%
mutate(run=as.factor(run)) %>%
ggplot(aes(variable, value, colour=run, group=run)) +
geom_point() + geom_line() + facet_wrap(~Class)