我正在使用从MAC系统导出的一些数据文件。我收到了一个文件名20110205.tar然后我试着看看里面的内容给了我原始文件?BIN。我的朋友帮我提取了一堆xml文件,其名称是时间格式:“2011-03-15T23_57_59Z.xml”,“2011-03-15T23_58_00Z.xml”。我尝试使用XML包和一些命令,如xmlTree,xmlTreeParse,asXMLNode然后我完全陷入困境。
当我用记事本打开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>
拜托,有人帮助我。我想在R做任何事情。 1.解压缩tar文件并解码原始文件成为xml文件 2.读取多个xml中提取的数据 在此先感谢!!!
答案 0 :(得分:1)
根据您的操作系统,R untar
命令可能有所帮助;见?untar
。作为使用XML的示例,我们可以加载文档
library(XML)
xml = xmlParse("2011-03-15T23_57_59Z.xml")
然后使用xpath语言(特别是section 2.5)查询它,例如,用于飞机ID和经度
> xpathSApply(xml, "//nxcm:aircraftId", xmlValue)
[1] "UAL966" "UAL936"
> xpathSApply(xml, "//nxce:longitudeDMS/@degrees")
degrees degrees
"056" "062"
还有一些便利功能,例如xmlToDataFrame
,这可能很有趣。