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?