Mercurial > pub > dyncall > bindings
view R/rdyncall/demo/expat.R @ 29:6cc2b7fc7ea2
bigger pydc update:
- cleanups and refactoring
- python 2 fixes in var conversions (especially w/ respect to int vs long)
- fix to pydc.free() which didn't work at all
- fix to return python bool as actual bool
- test lib covering all conversions (manual verification, though :-/)
author | Tassilo Philipp |
---|---|
date | Wed, 08 Apr 2020 22:17:43 +0200 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
# 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)