У меня есть большой файл XML, который мне нужно проанализировать с помощью xmlEventParse в R. К сожалению, онлайн-примеры более сложны, чем мне нужно, и я просто хочу пометить соответствующий тег узла, чтобы сохранить текст сопоставленного узла (не атрибут), каждый текст в отдельном списке, см. комментарии в коде ниже:
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 произвольных узлов для соответствия... если имя = "myNodeToMatchN"... узлы, избегающие сопоставления регистра?
my.xml может быть просто наивным XML, например
<A>
<myNodeToMatch1>Text in NodeToMatch1</myNodeToMatch1>
<B>
<myNodeToMatch2>Text in NodeToMatch2</myNodeToMatch2>
...
</B>
</A>