demo/expat.R

# Package: rdyncall 
# File: demo/expat.R
# Description: Parsing XML using expat and callbacks 

dynport(expat)

parser <- XML_ParserCreate(NULL)

onXMLStartTag <- function(user,tag,attr)
{
  # as.character( as.cstrptrarray(attr) )
  cat("Start tag:", tag, "\n")  
}

onXMLEndTag <- function(user,tag)
{
  cat("End tag:",tag, "\n")  
}

cb.onstart <- new.callback("pZp)v", onXMLStartTag )
cb.onstop  <- new.callback("pZ)v",  onXMLEndTag )

XML_SetElementHandler( parser, cb.onstart, cb.onstop ) 

text <- "
<hello>
  <world>
  </world>
</hello>
"

XML_Parse( parser, text, nchar(text), 1)

Try the rdyncall package in your browser

Any scripts or data that you put into this service are public.

rdyncall documentation built on May 31, 2017, 4:47 a.m.