【发布时间】:2011-11-24 02:30:53
【问题描述】:
我有一个很大的 XML 文件,我需要用 xmlEventParse in R 解析它。不幸的是,网上的例子比我需要的复杂,我只想标记一个匹配的节点标签来存储匹配的节点文本(不是属性),每个文本在一个单独的列表中,见下面代码中的 cmets:
library(XML)
z <- xmlEventParse(
"my.xml",
handlers = list(
startDocument = function()
{
cat("Starting document\n")
},
startElement = function(name,attr)
{
if ( name == "myNodeToMatch1" ){
cat("FLAG Matched element 1\n")
}
if ( name == "myNodeToMatch2" ){
cat("FLAG Matched element 2\n")
}
},
text = function(text) {
if ( # Matched element 1 .... )
# Store text in element 1 list
if ( # Matched element 2 .... )
# Store text in element 2 list
},
endDocument = function()
{
cat("ending document\n")
}
),
addContext = FALSE,
useTagName = FALSE,
ignoreBlanks = TRUE,
trim = TRUE)
z$ ... # show lists ??
我的问题是,如何在 R 中实现这个标志(以专业的方式:)? 另外:评估 N 个任意节点以匹配的最佳选择是什么... if name = "myNodeToMatchN" ... 节点避免大小写匹配?
my.xml 可能只是一个简单的 XML
<A>
<myNodeToMatch1>Text in NodeToMatch1</myNodeToMatch1>
<B>
<myNodeToMatch2>Text in NodeToMatch2</myNodeToMatch2>
...
</B>
</A>
【问题讨论】:
-
如果我们有“my.xml”可以方便地尝试一下,那就太好了...
标签: r xml-parsing sax