R:XML内容似乎不是XML

时间:2014-03-07 02:00:54

标签: xml r

我正在使用R解析XML文件,但我总是得到错误,说XML内容似乎不是XML,但XML文件确实包含XML数据,即使我只是放入一个简单的标记。请参阅下面的示例

有关如何解决此问题的任何建议吗?

R代码:

xmlinfile = "sample.xml"
xml = xmlInternalTreeParse(xmlinfile)

sample.xml中

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <name>Sample</name>
</root>

错误:

Error: XML content does not seem to be XML: 'sample.xml'

根据要求,下面是我在解析前打印文件时得到的内容:

 xmlinfile = "sample.xml"
 sampleFile<-file(xmlinfile,"w")
 print(sampleFile)

description     class      mode     text       opened     can read    can write 
"sample.xml"    "file"      "w"    "text"     "opened"      "no"        "yes"

非常感谢。

4 个答案:

答案 0 :(得分:2)

感谢大家的评论和回答,我想我找到了答案。我的XML文件与导致问题的R脚本位于不同的位置。

但错误消息似乎不正确或直观。但无论如何,它现在有效。 再次感谢大家。 ;)

答案 1 :(得分:1)

很抱歉,但这只是有效:

> library(XML)
> xmlinfile = "sample.xml"
> xml = xmlInternalTreeParse(xmlinfile)
> str(xml)
Classes 'XMLInternalDocument', 'XMLAbstractDocument' <externalptr> 

答案 2 :(得分:1)

它的工作原理如下 - &gt;第一次下载,第二次解析

file_q4<-"https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Frestaurants.xml"
discFile_q4<-"./data/q4_dat.xml"
download.file(file_q4, discFile_q4, method = "wget",quiet = TRUE)
dat_xml<-xmlInternalTreeParse(discFile_q4)
rootNode<-xmlRoot(dat_xml)

完成

答案 3 :(得分:0)

当我意识到我打开了其中一些文档时,尝试对文件夹中的所有docx文件使用readtext时遇到了相同的错误。将它们全部关闭并重新启动R后,该函数可以正常工作而不会出现错误。