Xml And JSON Java

Post on 08-Jun-2015

5,110 views 6 download

Tags:

description

How to manipulate XML and JSON document

transcript

XML & JSON PARSERS

IN JAVA

Henry AddoE-mail: addhen@gmail.com

Twitter: http://twitter.com/eyedol

WHAT IS PARSING A XML / JSON DOCUMENT

Reading a xml / json document to determine its structure or extract its content.

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.*

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.

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.

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.

SAXSimple API for XML - Designed to address the issues with DOM.

* Memory hog * Excess objects * Build entire document tree for code to work

HOW SAX WORKSSAX 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.

COMMON SAX EVENTSSAX 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

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

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.

EXAMPLE PARSING XML WITH DOM

Show some codes

EXAMPLE PARSING XML WITH SAX

* Create a SAX parser and parse the xml.* In the event handler create the employee object.* Print out the data.

EXAMPLE PARSING XML WITH SAX

Show some codes

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.

HOW TO GENERATE XML FROM JAVA

Show some codes

JSONJAVASCRIPT 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

JSONPACKAGES FOR JAVA

org.json.* - http://www.json.org/java/index.html

Google-gson - http://code.google.com/p/google-gson/

Jackson Java JSON - Processor - http://jackson.codehaus.org/Jettison - http://jettison.codehaus.org/

SAMPLE JSON DOCUMENT

Object {

String: value},array [ value ],

Syntax Sample{

“name”: “neem tree” “height”: “3”,

“benefits”: [ “medicine”, “wind break”, “shade” ]}

EXAMPLE PARSING JSON DOCUMENT

Show some codes

HOW TO GENERATE JSON DOCUMENT FROM

JAVA

Show some codes

HOW TO GENERATE JSON DOCUMENT FROM

JAVA

Show some codes