2013-02-02 233 views
1

我正在从MAC系统导出一些数据文件,我想。我收到了一个文件名20110205.tar,然后我试着看看里面的内容只给了我原始文件?BIN。我的朋友帮我把它解压缩成一串xml文件,名称是时间格式:“2011-03-15T23_57_59Z.xml”,“2011-03-15T23_58_00Z.xml”。我尝试使用xmlTree,xmlTreeParse,asXMLNode等命令的XML包,然后我完全卡住了。 当我通过记事本打开xml文件我有类似的东西:(我的朋友使用Python来做到这一点,但我不知道Python) 我也尝试过一些像epidata这样的软件包,但似乎很多软件包不能用于更多。 提取的文件我也WINRAR它并上传到主人MediaFire: http://www.mediafire.com/?ot8vt0wdw5c3oc1 <asdiOutput xmlns="http://tfm.faa.gov/tfms/TFMS_XIS" xmlns:nxce="http://tfm.faa.gov/tfms/NasXCoreElements" xmlns:mmd="http://tfm.faa.gov/tfms/MessageMetaData" xmlns:nxcm="http://tfm.faa.gov/tfms/NasXCommonMessages" xmlns:idr="http://tfm.faa.gov/tfms/TFMS_IDRS" xmlns:xis="http://tfm.faa.gov/tfms/TFMS_XIS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tfm.faa.gov/tfms/TFMS_XIS http://localhost:58489/tfms/schema/TFMS_XIS.xsd" timestamp="2011-03-15T23:57:59Z"> <asdiMessage sourceFacility="CCZM" sourceTimeStamp="2011-03-15T23:57:27Z" trigger="TZ"> <trackInformation> <nxcm:aircraftId>UAL966</nxcm:aircraftId> <nxcm:speed>470</nxcm:speed> <nxcm:reportedAltitude> <nxce:assignedAltitude> <nxce:simpleAltitude>350</nxce:simpleAltitude> </nxce:assignedAltitude> </nxcm:reportedAltitude> <nxcm:position> <nxce:latitude> <nxce:latitudeDMS degrees="45" minutes="40" direction="NORTH"/> </nxce:latitude> <nxce:longitude> <nxce:longitudeDMS degrees="056" minutes="58" direction="WEST"/> </nxce:longitude> </nxcm:position> </trackInformation> </asdiMessage> <asdiMessage sourceFacility="CCZM" sourceTimeStamp="2011-03-15T23:57:27Z" trigger="TZ"> <trackInformation> <nxcm:aircraftId>UAL936</nxcm:aircraftId> <nxcm:speed>470</nxcm:speed> <nxcm:reportedAltitude> <nxce:assignedAltitude> <nxce:simpleAltitude>350</nxce:simpleAltitude> </nxce:assignedAltitude> </nxcm:reportedAltitude> <nxcm:position> <nxce:latitude> <nxce:latitudeDMS degrees="44" minutes="43" direction="NORTH"/> </nxce:latitude> <nxce:longitude> <nxce:longitudeDMS degrees="062" minutes="42" direction="WEST"/> </nxce:longitude> </nxcm:position> </trackInformation> </asdiMessage> 从tar.gz文件读取xml

请人帮我。我想在R做任何事情。 1.提取tar文件并解码原始文件成为xml文件 2.读取多个xml中的数据提取 在此先感谢!!!

+0

你试图提取什么样的信息?你有什么尝试?也许你可以制作其中一个文件的小片段并将其发布到某个地方,以便人们可以去看看它。你能否调整问题的标题以反映实际提问的内容?很明显,你已经设法提取XML文件。 –

+0

要提取tar文件的内容,请检查'?untar'。 为了读取XML文件 'XML'包(例如'xmlParse'函数)可以创建一个(复杂)对象 ,该对象重现了XML文件的(复杂)结构。 如果你知道你在找什么,你可以使用'xpathSApply' 来提取你需要的信息。 –

回答

1

根据您的操作系统,R untar命令可能会有帮助;见?untar。作为使用XML的一个例子,我们可以加载文档

library(XML) 
xml = xmlParse("2011-03-15T23_57_59Z.xml") 

然后使用xpath语言查询(见尤其是section 2.5),例如,飞机编号和经度

> xpathSApply(xml, "//nxcm:aircraftId", xmlValue) 
[1] "UAL966" "UAL936" 
> xpathSApply(xml, "//nxce:longitudeDMS/@degrees") 
degrees degrees 
    "056" "062" 

也有便利功能,如xmlToDataFrame,这可能很有趣探索。

+0

非常感谢你,马丁 –