我正在从基于 XML 的 API 查询数据。 API 响应是分页的,因此我必须进行大量查询才能获取完整的数据集。
Using read_xml
来自xml2
包中,我可以轻松地发出每个请求并将其保存为 XML 文档,但我一直无法弄清楚如何使用该库将它们合并到一个文档中。 (我想这样做,这样我就可以进行一次 Xpath 查询,而不是 50 次。)
我尝试创建一个新的空白文档并将其他文档的节点添加为元素,但是xml_add_child
也不xml_add_sibling
函数将接受第二个文档作为参数,并且似乎都不喜欢传递一个结果xml_find_all
询问。 (他们抱怨无法使用参考资料。)
所以,我很困惑。
(注意:我也没有成功地发现如何用原始的方法做到这一点XML
包裹。)
经过一番尝试和错误后,我已经弄清楚如何使用xml2
包裹。
让我们考虑一下我们想要组合在一起的两个非常简单的 XML 文档的简单情况。
doc1 <- read_xml("<items><item>1</item><item>2</item><items>")
doc2 <- read_xml("<items><item>3</item><item>4</item><items>")
(注意:文件来自哪里并不重要,参数read_xml
是它可以读取的任何内容。)
要将它们组合在一起,只需执行以下操作:
doc2children <- xml_children(doc2)
for (child in doc2children) {
xml_add_child(doc1, child)
}
现在,当您查看 doc1 时,您应该会看到以下内容:
> doc1
{xml_document}
<items>
[1] <item>\n 1</item>
[2] <item>\n 2</item>
[3] <item>\n 3</item>
[4] <item>\n 4</item>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)