Almacenamiento de valores de nodo XML específicos con xmlEventParse de R
Tengo un gran archivo XML que necesito analizar conxmlEventParse en R. Desafortunadamente, los ejemplos en línea son más complejos de lo que necesito, y solo quiero marcar una etiqueta de nodo coincidente para almacenar el texto del nodo coincidente (no el atributo), cada texto en una lista separada, vea los comentarios en el código a continuación:
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 ??
Mi pregunta es, ¿cómo implementar esta bandera en R (de manera profesional :)? Además: ¿Cuál es la mejor opción para evaluar N nodos arbitrarios para que coincidan ... si name = "myNodeToMatchN" ... nodos que evitan la coincidencia de mayúsculas y minúsculas?
my.xml podría ser solo un XML ingenuo como
<A>
<myNodeToMatch1>Text in NodeToMatch1</myNodeToMatch1>
<B>
<myNodeToMatch2>Text in NodeToMatch2</myNodeToMatch2>
...
</B>
</A>