我有一个XML文件,如下所示
<?xml version="1.0" encoding="UTF-8" ?>
<s_observation>
<observation datetime="2014-09-01T00:00:00Z">
<station id="06179" lat="49.44700" lon="18.78123">
<precipitation>0.0</precipitation>
</station>
<station id="06200" lat="49.29720" lon="18.78431">
<precipitation>0.0</precipitation>
<discharge>10.450</discharge>
</station>
</observation>
</s_observation>
我可以通过以下命令正确获得放电和降水的值:
tavola1 = xmlToDataFrame(nodes=getNodeSet(data1,"//s_observation/observation/station"))
我不知道如何获得“观察日期时间”和“站点ID”的值。 你能救我吗?
答案 0 :(得分:0)
假设此xml
文件位于您的工作目录中并命名为test.xml
,则以下内容应说明XML
包的各种功能/特性以及如何获取observation datetime
和来自各个节点的station id
:
library(XML)
doc <- xmlTreeParse("test.xml")
root <- xmlRoot(doc)
obs_child <- xmlChildren(root)
xmlAttrs(obs_child[[1]])
# datetime
# "2014-09-01T00:00:00Z"
xmlGetAttr(obs_child[[1]], "datetime")
# [1] "2014-09-01T00:00:00Z"
stations <- xmlChildren(obs_child[[1]])
xmlAttrs(stations[[1]])
# id lat lon
# "06179" "49.44700" "18.78123"
xmlGetAttr(stations[[1]], "id")
# [1] "06179"
xmlAttrs(stations[[2]])
# id lat lon
# "06200" "49.29720" "18.78431"
xmlGetAttr(stations[[2]], "id")
# [1] "06200"