[Home] [By Thread] [By Date] [Recent Entries]

  • From: Michael Kay <mike@s...>
  • To: xml-dev@l...
  • Date: Tue, 28 Sep 2010 23:09:14 +0100


> Right, StAX events. Hm, ok, it seems I'm a little bit hard of
> understanding, but how do I create an XMLEventReader out of a
> List<XMLEvent>?
>

In essence, your XMLEventReader implementation contains a List<XMLEvent> 
list and and an int position, and you implement the seven methods of the 
interface something like this:

close()
          - no-op

getElementText()
           step position forwards through the list, accumulating text 
events in a StringBuffer until you reach the matching EndElement event, 
then return the contents of the StringBuffer

getProperty(java.lang.String name)
           no-op

  boolean    hasNext()
           test if position is at the end of the list

  XMLEvent    nextEvent()
           return list[position++]

  XMLEvent    nextTag()
          increment position until a START_ELEMENT or END_ELEMENT is 
reached.

  XMLEvent    peek()
          return list[position+1] with some error checking.

Not really very difficult.

Michael Kay
Saxonica


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member