问题标签 [xpathsapply]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
167 浏览

r - 从 XML 节点解析特定值

使用 R 和 XML 包,我使用 XML htmlParse 函数解析了一个 ("HTMLInternalDocument" "HTMLInternalDocument" "XMLInternalDocument" "XMLAbstractDocument") 对象。我感兴趣的 xml 对象中的行(见下文)包含我希望返回的两个值。

除了来自 class=gsc_1usr_name 的值(返回“Konrad Wrzecionkowski”)之外,我还需要提取“user=”下的值,在本例中为“QnVgFlYAAAAJ”。我用 xpathSApply 尝试了几种语法变体,它总是返回 NULL。诚然,我对 xml 很无知,有什么想法吗?有没有办法可以将它强制转换为不同的对象类,例如列表,然后在向量上使用拆分?标准强制转换(例如 as.list、as.character)似乎不适用于这个对象类。

它返回一个 xml 对象,下面是单个条目的子集,共 10 个。该h3 class="gsc_1usr_name行包含每个条目中我想要检索的值(对于所有 10 个)。

对 xpathSApply 函数使用以下语法,我返回“GVN Powell”,但也想要来自 user= 的值。我已经尝试了 h3[@user=''] 的变体,包括类的子查询,但是不能让其他任何东西工作。

我一直使用的方法是使用 url 和 readLines。然后我使用 strsplit 来提取所需的值。

这里的问题是 Google Scholar 似乎不喜欢网络抓取,并且代码会定期失败,并出现“无法打开连接,HTTP 状态为 '503 服务不可用”错误。但是,htmlParse 似乎并非如此。

0 投票
0 回答
83 浏览

r - R:标签中带有字符串数据的大型 xml。使用 xmlEventParse + xpathSApply

我有很多非常大(> 10GB)的xml文件,格式如下:

目标是创建如下数据集:

其中所有变量都是字符串。

棘手的部分是提取“2”和“N”,将它们保存为字符串。

从上一篇文章(链接)中,我能够使用以下代码生成前两行,该代码依赖 xmlEventParse 直接通过 xpathSApply 读取元素,而无需将 xml 文件加载到内存(这对于完整数据不可行) :

但是,由于我感兴趣的数据——这里的“2”和“N”——包含在标签括号 <> 中,我不知道如何修改 xpathSApply 或 xmlEventParse 来提取这些字符串。

注意:真正的数据设置是这些值不仅仅是子元素中包含的信息的计数,而是标识码,所以我必须直接提取它们,而不是从子元素的数量等中推断出来。

0 投票
1 回答
385 浏览

r - 使用 xpathSApply 提取现有节点但 NA 丢失?

我有以下xml:

我正在尝试拉出“MatchRecommended”类的部分,并为那些没有“MatchRecommended”类的孩子列出“NA”。

我想我必须使用 xpathSApply 和 xmlChildren 来提取相关数据,但是使用下面的代码,我只能得到 NA:

理想情况下,结果如下所示:

关于如何做到这一点的任何想法?

0 投票
1 回答
69 浏览

r - 在 xpathSApply 中使用变量

考虑以下使用R进行网页抓取的示例。

我使用的 XPath 函数为我提供了包含该字符串的所有链接的数量"stackoverflow"

我的目标是用变量替换 XPath 函数中的字符串"stackoverflow"。像这样:

它现在不起作用,因为数据变量被认为是一个字符串。你能帮我明确一下my_variable是一个变量吗?

0 投票
1 回答
90 浏览

r - R XPATH 字符串包含列表中的元素

我正在使用 R 和 xpathSApply 函数从包含特定字符串的网页中获取元素。我正在尝试将 xpath 中的 contains 函数与我存储在名为 my_list 的列表中的几个元素一起使用。

现在它不起作用,所以我将它分为几行:

你能帮我么?

0 投票
1 回答
133 浏览

r - 使用 xpathSApply 检索 XML 中每个子项的父属性

我正在尝试检索两个相同长度的向量,一个具有孩子的属性,第二个具有相应父母的属性。示例文件:

到目前为止我的代码

我希望最终得到这样的向量(命名)

但相反,第二条路径产生

我可以通过循环得到我想要的

但它效率非常低,并且我正在处理的大型 xml.file 需要很长时间。我确信有一种方法可以通过正确的路径获得我需要的东西xpathSApply但找不到它,所以请有人启发我:)?

UPDATE @Wietze314 解决方案在我的简单示例中效果很好,但我无法将其调整为更复杂的 xml 文件。我确实设法更改了他的代码以处理以下示例

这段代码

返回这个

但是应用于我感兴趣的文件的相同代码失败:(有什么建议吗?