Mam duży plik XML, który muszę przeanalizować przy pomocy xmlEventParse in R. Niestety, przykłady on-line są bardziej złożone niż mi potrzebne, i chcę tylko oznaczyć pasujący znacznik węzła do przechowywania dopasowanego tekstu węzła (nie atrybut), każdy tekst na osobnej liście, zobacz komentarze w poniższym kodzie:Przechowywanie określonych wartości węzłów XML za pomocą 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 ??
Moje pytanie brzmi, jak zaimplementować tę flagę w R (w profesjonalny sposób :)? Plus: Jaki jest najlepszy wybór do oceny N dowolnych węzłów do dopasowania ... jeśli nazwa = "mójNodeToMatchN" ... węzłów unikając dopasowania sprawy?
my.xml może być po prostu naiwny XML jak
<A>
<myNodeToMatch1>Text in NodeToMatch1</myNodeToMatch1>
<B>
<myNodeToMatch2>Text in NodeToMatch2</myNodeToMatch2>
...
</B>
</A>
Byłoby miło, gdybyśmy mieli "mój.xml" przydatny do wypróbowania rzeczy ... –