Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不使用循环解析XML文件?_Xml_R_Parsing - Fatal编程技术网

不使用循环解析XML文件?

不使用循环解析XML文件?,xml,r,parsing,Xml,R,Parsing,我正在使用变量“varname”的值的xml包来解析大量的xml文件。我使用的代码是: library(XML) a = xmlTreeParse("/path/filename.xml") r = xmlRoot(a) namelist = list() for(i in 1:xmlSize(r)){namelist[[i]] <- xmlValue(xmlChildren(r[[i]])$varname)} 库(XML) a=xmlTreeParse(“/path/filename.

我正在使用变量“
varname
”的值的
xml
包来解析大量的xml文件。我使用的代码是:

library(XML)
a = xmlTreeParse("/path/filename.xml")
r = xmlRoot(a)
namelist = list()
for(i in 1:xmlSize(r)){namelist[[i]] <- xmlValue(xmlChildren(r[[i]])$varname)}
库(XML)
a=xmlTreeParse(“/path/filename.xml”)
r=xmlRoot(a)
名称列表=列表()
对于(i in 1:xmlSize(r)){namelist[[i]]],如问题的原始海报所述:



阅读本文的读者:最简单的解决方案是
XML
库中的
xmlToDataFrame
函数。在我的例子中,它只需要对XML文件的读取进行一些小的调整。强烈推荐。抱歉,我是在发布问题后才发现这一点的。

您正在为整个do构建一个DOM树文档,对于大型文档来说效率很低:显式设置
xmlTreeParse
handlers
参数,只提取您需要的信息并放弃所有其他内容,这可能会加快速度。Vincent…抱歉,我对xml不太熟悉,正在处理R的文档。您能提供示例吗代码?谢谢。如果没有关于数据外观的任何细节,就很难更加具体。以下是文档中的一个示例(略为简化):
fileName@user702432:在上次编辑之前,我已经整理了所有不相关的帖子。谢谢。而不是将[solved]在这篇文章的标题中,你应该把它写下来作为一个答案并接受它!
library(foreach)
library(doMC)
registerDoMC()
namelist = list()
namelist <- foreach(i = 1:xmlSize(r)) %dopar% {namelist[[i]] <- xmlValue(xmlChildren(r[[i]])$varname)}