【发布时间】:2013-05-16 14:54:38
【问题描述】:
我有一个巨大的 xml 文件 (260mb),其中包含大量信息,如下所示:
例子:
<mydocument>
<POSITIONS EventTime="2012-09-29T20:31:21" InternalMatchId="0000T0">
<FrameSet GameSection="1sthalf" Match="0000T0" Club="REFEREE" Object="00011D">
<Frame N="0" T="2012-09-29T18:31:21" X="-0.1158" Y="0.2347" S="1.27" />
<Frame N="1" T="2012-09-29T18:31:21" X="-0.1146" Y="0.2351" S="1.3" />
<Frame N="2" T="2012-09-29T18:31:21" X="-0.1134" Y="0.2356" S="1.33" />
</FrameSet>
<FrameSet GameSection="2ndhalf" Match="0000T0" Club="REFEREE" Object="00011D">
<Frame N="0" T="2012-09-29T18:31:21" X="-0.1158" Y="0.2347" S="1.27" />
<Frame N="1" T="2012-09-29T18:31:21.196" X="-0.1146" Y="0.2351" S="1.3" />
<Frame N="2" T="2012-09-29T18:31:21.243" X="-0.1134" Y="0.2356" S="1.33" />
</FrameSet>
</POSITIONS>
</mydocument>
大约有 40 个不同的 FrameSet 节点,每个节点都有不同的 GameSection="..." 和 Object="..."。
我很想将<Frame> 节点的信息提取到list 对象中,但我无法加载整个xml 文件,因为它太大了。有什么办法,我可以使用xmlEventParse 函数来过滤特定的GameSection 和特定的Object,并从相应的<Frame> 元素中获取所有信息?
【问题讨论】:
-
你可以试试
xpathApply。如果您需要更多帮助,您必须提供reproducible example。 -
我添加了文件的一些示例内容。要使用 xpathApply,我必须先加载 xml 文件,对吗?或者我可以在跑步时这样做吗?
标签: xml r xml-parsing