在R中获取XML文档根节点的变量

时间:2015-11-04 23:23:13

标签: xml r xml-parsing

我在R中有一个XML文件.XML文件如下所示:

<pdv id="1000001" latitude="4620114" longitude="519791" cp="01000" pop="R">
  <adresse>ROUTE NATIONALE</adresse>
  <ville>SAINT-DENIS-LèS-BOURG</ville>
  <ouverture debut="01:00" fin="01:00" saufjour=""/>
  <services>
    <service>Automate CB</service>
    <service>Vente de gaz domestique</service>
    <service>Station de gonflage</service>
  </services>
  <prix nom="Gazole" id="1" maj="2014-01-02 11:08:03" valeur="1304"/>
  <prix nom="SP98" id="6" maj="2014-12-31 08:39:46" valeur="1285"/>
  [....]
  <fermeture/>
  <rupture/>
</pdv> 

我想减去有关id =“1000001”和latitude =“4620114”(XML文件的第一行)的信息并将其放入矩阵中。

但是当我运行:

rootNode[[1]]

我得到了XML文件的第二行:ROUTE NATIONALE

我需要做些什么来获取第一行(纬度,经度和身份信息)并将其作为矩阵?

1 个答案:

答案 0 :(得分:0)

您正在尝试提取元素的属性。 为此目的检查函数xpathApply

Smth喜欢跟随。

# Using xpathApply, we can do
latitude = xpathApply(doc, "/pdv", xmlGetAttr, "latitude", namespaces = namespaces )
latitude = unlist(latitude)
# Using an expression rather than a function and ...
latitude = xpathApply(doc, "/pdv",
quote(xmlGetAttr(x, "latitude")), namespaces = namespaces )

Documentation on work with xml .