Xml dom & sax by bhavsingh maloth
Upcoming SlideShare
Loading in...5

Xml dom & sax by bhavsingh maloth



xml and DOM

xml and DOM



Total Views
Slideshare-icon Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Xml dom & sax by bhavsingh maloth Xml dom & sax by bhavsingh maloth Presentation Transcript

    • MB S mbstechinfo@gmail.com
    • MB S Introduction Introducing the DOM Objects Working with the XML DOM Validate and tranform an XML document Exercises Document Object Model Sli de 2
    • MB S Introducing the W3C DOM  DOM Implementation  Document Object Model Sli de 3
    •  XML Document Object Model (DOM) MB S ◦ W3C standard recommendation ◦ Build tree structure in memory for XML documents ◦ Provides an Application Programming Interface (API) for dynamically accessing and manipulating a document ◦ DOM-based parsers parse these structures  Exist in several languages (Java, C, C++, Python, Perl, etc.) Document Object Model Sli de 4
    •  Tree Structure of a Document: MB S ◦ Node is the basic building block of the DOM tree structure. ◦ Nodes represent elements, attributes, content, comments, etc. Document Object Model Sli de 5
    • ◦ Example <?xml version = "1.0"?> <message from = "Paul" to = "Tem"> <body>Hi, Tim!</body> </message> MB S  Node created for element message  Element message has child node for body element  Element body has child node for text "Hi, Tim!"  Attributes from and to also have nodes in tree Document Object Model Sli de 6
    • MB S The following figure represents how a DOM tree is used by applications to access data: MSXML Library or other libraries XML Document Parser Parsed Document DOM Tree Root Child Application Text Child Text Document Object Model Sli de 7
    •  MB S DOM-based parsers ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Sun Microsystem’s JAXP Apache Xerces XML4J DOM4J JDOM Microsoft’s msxml 4DOM XML::DOM … Document Object Model Sli de 8
    • MB S Class/Interface Description Document interface Represents the XML document’s top-level node, which provides access to all the document’s nodes—including the root element. Node interface Represents an XML document node. NodeList interface Represents a read-only list of Node objects. Element interface Represents an element node. Derives from Node. Attr interface Represents an attribute node. Derives from Node. CharacterData interface Represents character data. Derives from Node. Text interface Represents a text node. Derives from CharacterData. Comment interface Represents a comment node. Derives from CharacterData. ProcessingInstruction interface CDATASection interface Represents a processing instruction node. Derives from Node. Represents a CDATA section. Derives from Text. Document Object Model Sli de 9
    • Method Name Description createElement Creates an element node. createAttribute Creates an attribute node. createTextNode Creates a text node. createComment MB S Creates a comment node. createProcessingInstruction Creates a processing instruction node. createCDATASection Creates a CDATA section node. getDocumentElement Returns the document’s root element. appendChild Appends a child node. getChildNodes Returns the child nodes. Document Object Model Sli de 10
    •  MB Following are the associated properties for the S Document object methods: ◦ ◦ ◦ ◦ ◦ ◦ childNodes documentElement firstChild lastChild parseError validateOnParse Document Object Model Sli de 11
    • Method Name Description appendChild Appends a child node. cloneNode Duplicates the node. getAttributes Returns the node’s attributes. MB S getChildNodes Returns the node’s child nodes. getNodeName Returns the node’s name. getNodeType Returns the node’s type (e.g., element, attribute, text, etc.). getNodeValue Returns the node’s value. getParentNode Returns the node’s parent. hasChildNodes Returns true if the node has child nodes. removeChild Removes a child node from the node. replaceChild Replaces a child node with another node. setNodeValue Sets the node’s value. insertBefore Appends a child node in front of a child node. Document Object Model Sli de 12
    •  MB Following are the associated properties Sthe for Node object methods: ◦ ◦ ◦ ◦ ◦ ◦ ◦ nodeName nodeType nodeValue childNodes firstChild lastChild text Document Object Model Sli de 13
    • MB S Node Type Description Node.ELEMENT_NODE Represents an element node. Node.ATTRIBUTE_NODE Represents an attribute node. Node.TEXT_NODE Represents a text node. Node.COMMENT_NODE Represents a comment node. Node.PROCESSING_INSTRUCTION_NODE Represents a processing instruction node. Node.CDATA_SECTION_NODE Represents a CDATA section node. Document Object Model Sli de 14
    • MB S Method Name Description getAttribute Returns an attribute’s value. getTagName Returns an element’s name. removeAttribute Removes an element’s attribute. setAttribute Sets an attribute’s value. Document Object Model Sli de 15
    • MB S <?xml version="1.0"?> <article> <title>XML Demo</title> <date>August 22, 2007</date> <author> <fname>Nguyen Van</fname> <lname>Teo</lname> </author> <summary>XML is pretty easy.</summary> <content>Once you have mastered HTML, XML is easily learned. You must remember that XML is not for displaying information but for managing information. </content> </article> Document Object Model Sli de 16
    • MB S <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>A DOM Example</title> </head> <body> Element script allows for including scripting code <script type = "text/javascript" language "JavaScript"> Instantiate Microsoft XML = DOM object var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.load("article.xml"); Load article.xml into memory; var msxml parses article.xml and element=xmlDoc.documentElement; stores it as tree structure Document Object Model Sli de 17
    • Assign article as root element var element=xmlDoc.documentElement;// get the root element document.writeln( "<p>Here is the root node of the document:" ); document.writeln( "<strong>" + element.nodeName + "</strong>" ); MB S Place root element’s name in element strong and write it to browser document.writeln( "<br>The following are its child elements:" ); document.writeln( "</p><ul>" ); // traverse all child nodes of root element for ( i = 0; i < element.childNodes.length; i++ ) { var curNode = element.childNodes.item(i); } // print node name of each child element document.writeln( "<li><strong>" + curNode.nodeName + "</strong></li>" ); Assign index to each child node of root node document.writeln( "</ul>" ); // get the first child node of root element var currentNode = element.firstChild; Retrieve root node’s first child node (title) Document Object Model Sli de 18
    • MB S Siblings are nodes at same level in document.writeln( "<p>The first child of root node is:" ); document (e.g., title, date, document.writeln( "<strong>" + currentNode.nodeName + "</strong>" ); author, summary and content) document.writeln( "<br>whose next sibling is:" ); // get the next sibling of first child var nextSib = currentNode.nextSibling; document.writeln( "<strong>" + nextSib.nodeName + "</strong>." ); Get first child’s next sibling (date) document.writeln( "<br>Value of <strong>" + nextSib.nodeName + "</strong> element is:" ); var value = nextSib.firstChild; Get first child of date // print the text value of the sibling document.writeln( "<em>" + value.nodeValue + "</em>" ); document.writeln( "<br>Parent node of " ); document.writeln( "<strong>" + nextSib.nodeName + "</strong> is:" ); document.writeln( "<strong>" + nextSib.parentNode.nodeName + "</strong>.</p>" ); </script> </body> </html> Get parent of date (article) Document Object Model Sli de 19
    • MB S Document Object Model Sli de 20
    • Validate XML document with DTD  Read XML document  Document Object Model MB S Sli de 21
    •  MB S To be continued… Document Object Model Sli de 22
    • MB S XML How to program  http://www.w3.org  XML tutorial http://www.w3schools.com/w3c/  Document Object Model Sli de 23
    • MB S Feel free to post questions at http://yht4ever.blogspot.com  or email to: thanh.phamhong@niithoasen.com or thanh.phamhong@niit-vn.com  Document Object Model Sli de 24
    • MB S mbstechinfo@gmail.com