wood burning stoves 2.0*
The moose likes XML and Related Technologies and the fly likes Default XML parser: SAX or DOM? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "Default XML parser: SAX or DOM?" Watch "Default XML parser: SAX or DOM?" New topic
Author

Default XML parser: SAX or DOM?

Ricky Murphy
Ranch Hand

Joined: Oct 16, 2007
Posts: 31
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

Joined: Mar 22, 2000
Posts: 12769
    
    5
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
 
 
subject: Default XML parser: SAX or DOM?