• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Default XML parser: SAX or DOM?

 
Ricky Murphy
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello:

When I created DOM object from an incoming XML stream (XML string), I use

DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = //incoming Stream
Document doc = db.parse(is);

As I learned that by default, the DocumentBuilderFactory uses the built-in XML parser that comes with JAXP. How do I know what type of XML parser that is? I think that I can try to look up the System Property "javax.xml.parsers.DocumentBuilderFactory" to see what parser class that is used as default. But, how can I know what type of parser it is? I mean is that a SAX parser or DOM parser?

Also, in Java there is a class SAXParser. it also has a overloaded parse method which takes various type of input parameters. How is this class being used? any samples that you can share? the parse method in SAXParser is defined with a void, which indicates not return anything, not like the parse method above from DocumentBuilder which returns a Document. I seem to have some confusion here.

Thank you.

-Rick
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13055
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I mean is that a SAX parser or DOM parser?


All DOM parsers are built on top of SAX parsers. Think about it - there is no other way to build a DOM - you have to look at every part of the input stream - in other words an SAX parser.

Bill
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic