Tengo un gran archivo XML que necesito analizar con xmlEventParse in R. Lamentablemente, 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 siguiente código:Almacenamiento de valores de nodo XML específicos con R xmlEventParse
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 :)? Plus: ¿Cuál es la mejor opción para evaluar N nodos arbitrarios para que coincidan ... if name = "myNodeToMatchN" ... nodos evitando la coincidencia de casos?
my.xml podría ser sólo una ingenua como XML
<A>
<myNodeToMatch1>Text in NodeToMatch1</myNodeToMatch1>
<B>
<myNodeToMatch2>Text in NodeToMatch2</myNodeToMatch2>
...
</B>
</A>
Estaría bien si tuviéramos "my.xml" a mano para probar cosas ... –