StAX xml serialization

View: New views
1 Messages — Rating Filter:   Alert me  

StAX xml serialization

by leopupo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I need convert a xml file to java object to serialize it, but i´m facing some problems.
I wrote the following code
[code]
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
                        // Setup a new eventReader
                        InputStream in = new FileInputStream(fileName);
                        XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
                        // Read the XML document
                        while (eventReader.hasNext()) {
                                XMLEvent event = eventReader.nextEvent();
                                if (event.isStartElement()) {
                                        System.out.println("start element "
                                                        + event.asStartElement().getName().getLocalPart());
                                }
                                if (event.isEndElement()) {
                                        System.out.println("end element "
                                                        + event.asEndElement().getName().getLocalPart());
                                }
                                if (event.isCharacters()) {
                                        Characters text = event.asCharacters();
                                        if (!text.isWhiteSpace()) {
                                                System.out.println("Text:" + text.getData());
                                        }

                                }
                        }
[/code]

So, i have all the start, end and character elements.
My xml file is (just an example):
<Persons>
        <Person>
                <FirstName>XML</FirstName>
                <LastName>Example</LastName>
                <Phone>
                        <AreaCode>11</AreaCode>
                        <Number>123456</Number>
                </Phone>
        </Person>
</Person>

My doubt is, when i read the tag FirstName, i must set my java object called Person (containing the methos setFirstName) with it´s value. But, in order to do it, i must always perform a back search. For example: When i read a character element, i need to read the previoues start element to set exactly my object, right? Or there´s another way to do it?
And how can i do it?
Can anyone help me?