源自this問題,我對R(和其他)文檔的研究表明SAX方法將是解析XML數據的一種更快的方法。可悲的是,我找不到很多有用的例子來了解如何到達那裏。解析R中的XML SAX方式
這是一個包含我想分析信息的虛擬文件。真正的事情將有更多的<ITEM>
節點和我想排除的樹周圍的其他節點。另一個特點是<META>
部分有兩個<DESC>
元素,我需要其中的任何一個(不是兩個)。
<FILE>
<HEADER>
<FILEID>12347</FILEID>
</HEADER>
<META>
<DESC>
<TYPE>A</TYPE>
<CODE>ABC</CODE>
<VALUE>100000</VALUE>
</DESC>
<DESC>
<TYPE>B</TYPE>
<CODE>ABC</CODE>
<VALUE>100000</VALUE>
</DESC>
</META>
<BODY>
<ITEM>
<IVALUE>1000</IVALUE>
<ICODE>CDF</ICODE>
<ITYPE>R</ITYPE>
</ITEM>
<ITEM>
<IVALUE>1500</IVALUE>
<ICODE>EGK</ICODE>
<ITYPE>R</ITYPE>
</ITEM>
<ITEM>
<IVALUE>300</IVALUE>
<ICODE>TSR</ICODE>
<ITYPE>R</ITYPE>
</ITEM>
</BODY>
</FILE>
對於例如XML在上面,我希望得到
> data.table(fileid=12347, code="ABC", value=10000, ivalue=c(1000,1500,300), icode=c("CDF","EGK","TSR"), itype="R")
# fileid code value ivalue icode itype
# 1: 12347 ABC 10000 1000 CDF R
# 2: 12347 ABC 10000 1500 EGK R
# 3: 12347 ABC 10000 300 TSR R
誰能與SAX
經驗指導我建立一個解析器適合我的需要與xmlEventParse()
?