我有类似的数据:
<location country="SWITZERLAND" city="" state="" xsi:nil="true"/>
<location country="URUGUAY" city="" state="" xsi:nil="true"/>
以上的位置标记在XML中具有动态大小,我仅显示了2个国家/地区,但也可能是1个或5个。现在,我要提取SWITZERLAND
,URUGUAY
之类的值,并将它们存储在数据帧的单个单元格中。
答案 0 :(得分:1)
您可以使用xpathSApply
来获取节点的属性
library(XML)
doc <- xmlParseDoc("test.xml")
df <- as.data.frame(t(xpathSApply(doc, "//location_tag/location", xmlAttrs)))
给出
> df
country city state
1 SWITZERLAND
2 URUGUAY
示例数据:请注意,由于您没有提供完整的XML,因此我对您的示例数据进行了一些修改。
test.xml
包含
<location_tag>
<location country="SWITZERLAND" city="" state=""/>
<location country="URUGUAY" city="" state=""/>
</location_tag>