我有以下两个最小的 XML 文件
历史1.xml
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.8/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.8/ http://www.mediawiki.org/xml/export-0.8.xsd" version="0.8" xml:lang="en">
<page>
<title>AccessibleComputing</title>
</page>
<page>
<title>History</title>
</page>
</mediawiki>
历史2.xml
<mediawiki>
<page>
<title>AccessibleComputing</title>
</page>
<page>
<title>History</title>
</page>
</mediawiki>
请注意,唯一的区别是“mediawiki”节点中的所有属性。我正在尝试使用 R 获取所有页面标题。现在我输入
library("XML")
doc = xmlParse('history1.xml',useInternalNodes=TRUE)
titles<-xpathSApply(doc,'//page/title',xmlValue)
并得到一个空列表作为输出
list()
如果我改用第二个 XML 文件:
library("XML")
doc = xmlParse('history2.xml',useInternalNodes=TRUE)
titles<-xpathSApply(doc,'//page/title',xmlValue)
我得到了我想要的,即
[1] "AccessibleComputing" "History"
问题是:我正在从 Wikipedia 下载这些列表,但我不能总是手动删除这些属性。所以我的问题是:
1)为什么第二个文件有效而第一个文件无效?
2)有没有办法解决这个问题?
3)如果答案是否定的:我可以自动删除 R 中的属性吗?
任何帮助深表感谢!