Lifted from TOF since no one seems able or willing to help
Characters is NOT meant to pass you the entire contents of an element
It is called one or more times when there are characters that need to be processed
To collect the contents of an element you need to
- subclass XMLReader
- implement start_element as
m_accumulated = ""
- implement end_element as
system.debuglog m_accumulated
- implement characters as
m_accumulated = m_accumulated + s
then you use your subclass to read & parse the xml
now this simple set up does NOT handle nested nodes that have text etc but that is manageable with a simple stack ( array) that in each start element adds an empty new item to the array, characters appends to the last item in the array, and end element prints out the value and removes that last one