excel - 在 FILTERXML 函数中使用 last()

标签 excel xpath

假设我在 A1 中有以下 XML

<GlobalHistoricalQuote>
<Date>5/25/2017</Date>
<Quote>85.24</Quote>
</GlobalHistoricalQuote>
<GlobalHistoricalQuote>
<Date>5/26/2017</Date>
<Quote>84.31</Quote>
</GlobalHistoricalQuote>
<GlobalHistoricalQuote>
<Date>5/29/2017</Date>
<Quote>84.56</Quote>
</GlobalHistoricalQuote>
<GlobalHistoricalQuote>
<Date>5/30/2017</Date>
<Quote>84.24</Quote>
</GlobalHistoricalQuote>

我想在 Excel 中提取最后一个 Date 值;

如果我输入这个:
FILTERXML(A1,"//GlobalHistoricalQuote[4]/Date")

我得到了正确的值。

但如果我输入:
FILTERXML(A1,"//GlobalHistoricalQuote[last()]/Date")

我收到 #VALUE 错误。

最佳答案

这是正确的定位器:

(//GlobalHistoricalQuote/Date)[last()]



要获得最后一个元素,请使用下面的 xpath。您将获得所有 Date 元素并选择最后一个找到的。
(locator)[last()]

要获取另一个元素中的每个最后一个元素,请使用下面的路径。您将在每个 GlobalHistoricalQuote 中获得最后一个 Date 元素(如果有超过 1 个或唯一存在的)
//GlobalHistoricalQuote/Date[last()]

关于excel - 在 FILTERXML 函数中使用 last(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189005/

相关文章:

vba - 在excel-vba中设置动态范围

python - 不单击所有选项卡并且不循环一次问题

ruby - Nokogiri xpath - 根据属性条件计算 XML 元素的出现次数

r - 如何获取最新的 RStudio 版本

VBA:为散点图中的误差线创建不同的格式

excel - 如何在excel中选择包含相同值的最后一个单元格

excel - 我的 VBA 代码在退出 'While' 循环时意外中止。为什么?

excel - 条件格式,搜索公式

php - 使用 xslt 转换将 xml 转换为 html

java : finding absolute xpath of specific node