Re: Are there any tools which generates Java code to reading XML
files?
Arne Vajh??j wrote:
On 24-03-2010 20:10, Lew wrote:
Arne Vajh??j wrote:
But you still need a bunch of if statements [for SAX parsing].
I've written a handful of SAX-parser based applications, starting with
my first paid Java gig eleven years ago. There really weren't many 'if'
statements in them; mostly I just instantiated an object based on the
tag being processed, using a Map to look up the appropriate handler. In
this it was similar to MVC code for servlets where you look up the
handler based on a request parameter.
But in the case we are discussing, then the same tag appears in
multiple contexts. That requires if statements.
Not really.
Each tag holds a reference to its enclosing tag, so it already "knows" where
belongs without need for 'if' statements.
And the final code can easily become a bit messy.
That's on the programmer, not the library.
Using SAX to parse the type of XML documents we are talking
about has to contain if statements and other solutions does
not.
You are mistaken.
I would prefer alternatives if they exists and are
usable in the context.
SAX is /non pareil/ for the areas where it shines. Back in 1999, using
Java 1.2 and then-current LAN tech (no gigabit or 100Mb/s LANs then) and
the relatively low-memory machines of the day we could process on the
order of a million hefty documents into or out of a database in about
four hours using SAX. We were limited pretty much by transfer speeds not
CPU because of the efficiency of SAX parsing.
And there weren't a lot of 'if' statements involved, no more so than any
other app I've worked on.
But given that we have a SAX_unfriendly structure of the XML
document and no indication that it is a huge file, then SAX is
not an obvious pick.
No one XML structure is more SAX-unfriendly than another.
There are other cases where SAX do make sense. Even though StAX
has overtaken quite a few of those.
--
Lew