尝试在 Google 表格中使用 XML 从类的最后一个实例中获取数据

Posted

技术标签:

【中文标题】尝试在 Google 表格中使用 XML 从类的最后一个实例中获取数据【英文标题】:Trying to use XML in Google Sheets to get data from last instance of a class 【发布时间】:2022-01-20 04:39:31 【问题描述】:

如果格式不正确,我们深表歉意;我以前从来没有在这里问过问题。通常 Stack Overflow 有答案!

无论如何,我需要一个电子表格来跟踪线程讨论中的 cmets。具体来说,我需要它给我最后一个人评论线程的用户名。

这是电子表格 https://docs.google.com/spreadsheets/d/1VwVo1l2r2IVBPUcHO3NlxIXnoeM2xkviIct_pjvjBlg/edit?usp=sharing

我在想必须有一种方法可以将“最后一个孩子”修饰符添加到类中,但到目前为止我还没有找到一种方法将其输入到公式中以便它可以工作。如果您单击电子表格中的链接,您会看到 C2 中的公式按我的需要工作,答案应该a1b2

我需要公式自动更新,以跟踪评论线程的进度,因此使用id="comment-cmt933" 将不起作用,因为分配给各个 cmets 的数字是随机的;使用该 ID 只会静态跟踪该评论,并且不会在向线程添加更多评论时更新。

我试图用谷歌表格/XML/这个网站的标记来做可能吗?我到处寻找,但找不到答案。

谢谢。

【问题讨论】:

【参考方案1】:

尝试:

=INDEX(IMPORTXML(B2, "//b"), COUNTA(IMPORTXML(B2, "//b")))

【讨论】:

这很完美!非常感谢! @johnnydangerously ***.com/help/someone-answers【参考方案2】:

html 中,我可以看到所有发帖者的用户名都以同步顺序在 b 节点中捕获。因此我尝试了以下方法:

=IMPORTXML(B2,"//b[count(following::b)=0]")

我更热衷于使用=IMPORTXML(B2,"//b[last()]"),但不知何故,GS 不断返回所有 b 节点而不是最后一个。不确定这是否是特定于 GS 的(或者 XPath 可以更好地编写?),但在 Excel 中它可以正常工作。

【讨论】:

谢谢,如果我不得不将它迁移到 excel 文件中,这仍然非常有用,这是一种明显的可能性。我会记住的。 @johnnydangerously,不客气。如果它已经回答了问题,请考虑通过单击它左侧的复选标记来标记答案,然后关闭线程。

以上是关于尝试在 Google 表格中使用 XML 从类的最后一个实例中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 从类数组创建类的新实例

在 Python(tkinter)中从类的外部更改类的私有属性(标签)

如何从类的方法传递意图的上下文?

从类路径加载 jar 的 context.xml

std :: current_exception应该从类的析构函数中的catch块返回非null值

Spring - 从类路径资源 [Beans.xml]-NoClassDefFoundError 加载 XML bean 定义