Java DOM4J Parser - Overview
DOM4J is an open source, java based library to parse XML document and it is highly flexible, high-performance, and memory-efficient API. It is java optimized, it uses java collection like List and Arrays. It works with DOM, SAX, XPath and XSLT. It can parse large XML document with very low memory footprint.
In order to use DOM4J parser, you should have dom4j-1.6.1.jar and jaxen.jar in your application's classpath. Download dom4j-1.6.1.zip.
When to use?
You should use a DOM4J parser when:
You need to know a lot about the structure of a document
You need to move parts of the document around (you might want to sort certain elements, for example)
You need to use the information in the document more than once
You are a java developer and want to leverage java optimized parsing of XML.
What you get?
When you parse an XML document with a DOM4J parser, you get the flexibility to get back a tree structure that contains all of the elements of your document without impacting the memory footprint of the application. The DOM4J provides a variety of utility functions you can use to examine the contents and structure of the document in case document is well structured and its structure is known. DOM4J uses XPath expression to navigate through the XML document.
DOM4J gives java developers flexibility and easy maintainablity of xml parsing code. It is light weight and quick API.
The DOM4J defines several Java classes. Here are the most common classes:
Document - Represents the entire XML document. A Document object is often referred to as a DOM tree.
Element - Represents an XML element. Element object has methods to manipulate its child elements,its text, attributes and namespaces.
Attribute Represents an attribute of an element. Attribute has method to get and set the value of attribute. It has parent and attribute type.
Node Represents Element, Attribute or ProcessingInstruction
Common DOM4J methods
When you are working with the DOM4J, there are several methods you'll use often:
SAXReader.read(xmlSource)() - Build the DOM4J document from the xml source.
Document.getRootElement() - Get the root element of the XML.
Element.node(index) - Get the XML node at particular index in the element.
Element.attributes() - Get all the attributes of an element.
Node.valueOf(@Name) - Get the value of an attribute with given name of the element.