2024: Domino Containers - The Next Step. News from the Domino Container commu...
Xml And JSON Java
1. XML & JSON PARSERS
IN JAVA
Henry Addo
E-mail: addhen@gmail.com
Twitter: http://twitter.com/eyedol
2. WHAT IS PARSING A
XML / JSON DOCUMENT
Reading a xml / json document to determine its
structure or extract its content.
3. DIFFERENT WAYS OF
PARSING XML
DOCUMENT
* DOM - Document Object Model - org.w3c.dom.*
* JDOM - Open source version of DOM - org.jdom.*
* SAX - Simple API for XML - org.xml.sax.*
* StAX - Streaming API for XML - java.xml.stream.*
4. DOM
* Document Object Model - An interface for working
with the structure of an xml document.
* Developed by w3c to make life easier for the
programmer.
5. DOM TREE
* XML is loaded in hierarchical data structure( the
DOM tree ).
* Everything in a DOM tree is a Node of one type or
another type.
* Element: Represent an XML element in the source
document.
* Attr: Represents an attribute of an XML element.
* Text: The content of an element of an XML element.
* Document: Represents the entire XML document.
6. COMMON DOM METHODS
* Document.getDocumentElement(); returns the root
of the DOM tree
* Node.getFirstChild() & Node.getLastChild(); returns
the first or last child of a given Node.
* Node.getNextSibling() & Node.getPreviousSibling();
returns the next or previous sibling of a given Node.
* Element.getAttribute( String attrName); returns the
value of the attribute named attrName of a given
Element.
7. SAX
Simple API for XML - Designed to address the issues
with DOM.
* Memory hog
* Excess objects
* Build entire document tree for code to work
8. HOW SAX WORKS
SAX parsers tells you when it finds things in the XML
document using events.
* It sends you events as it finds things in an XML
document.
* It gives the option for creating objects as when
needed.
* It sends events right on the onset, doesn’t have to
wait for the parser to finish reading the document.
9. COMMON SAX EVENTS
SAX API defines number of events. Write code to do
things in response to those events.
* startDocument(); prompts that it has found the start
of the document.
* endDocument(); prompts that it has found the end of
the document.
* startElement(...); found a start tag--
name,values,attributes of the element.
* characters(...); found some text. char array
* endElement(..); found an end tag--name + assoc.
name space
10. CHOOSING XML
PARSER
DOM
* You Need to know a lot about the document
structure
* You Need to change the structure of the document
SAX
* You don’t have much machine memory
* You only need a few elements or attributes from the
XML document
StAX
* You need to do xml processing on mobile devices
11. EXAMPLE PARSING XML
WITH DOM
* Get a document builder using document builder
factory and parse the xml file to create a DOM obj.
* Get a list of employee elements from the DOM.
* For each employee element get the id, name, age and
type.
* Iterate through the list and print the employees
details.
15. HOW TO GENERATE
XML FROM JAVA
This time generate an xml file instead of reading it.
* Load Data.
* Get an instance of Document object using document
builder factory.
* Create root element Personnel.
* For each item in the list create a Book element.
* Serialize DOM to FileOutputStream to generate the
xml file.
17. JSON
JAVASCRIPT OBJECT
NOTATION
Is a language independent text format which is fast
and easy to understand.
Its very easy to manipulate JSON document than say
XML