SlideShare a Scribd company logo
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

More Related Content

PPTX
XML Document Object Model (DOM)
PPT
Understanding XML DOM
PPTX
PPTX
INTRODUCTION TO DOM AND DOM TREE
PPTX
Introduction to the DOM
PPT
Document Object Model
PPTX
Document Object Model (DOM)
XML Document Object Model (DOM)
Understanding XML DOM
INTRODUCTION TO DOM AND DOM TREE
Introduction to the DOM
Document Object Model
Document Object Model (DOM)

What's hot (18)

PPTX
Dom(document object model)
PPT
Document Object Model
PDF
JavaScript DOM & event
PPTX
The Document Object Model
PPTX
Xml dom
PPTX
Dom parser
PPT
DOM and SAX
PPT
introduction to the document object model- Dom chapter5
PPT
Xml Lecture Notes
PPTX
An Introduction to the DOM
PDF
Dom Hackking & Security - BlackHat Preso
PPTX
Document Object Model
PDF
JavaScript and DOM
PPTX
Internet and Web Technology (CLASS-7) [XML and AJAX] | NIC/NIELIT Web Technology
PPTX
Xml part 6
PDF
Unit 4(it workshop)
Dom(document object model)
Document Object Model
JavaScript DOM & event
The Document Object Model
Xml dom
Dom parser
DOM and SAX
introduction to the document object model- Dom chapter5
Xml Lecture Notes
An Introduction to the DOM
Dom Hackking & Security - BlackHat Preso
Document Object Model
JavaScript and DOM
Internet and Web Technology (CLASS-7) [XML and AJAX] | NIC/NIELIT Web Technology
Xml part 6
Unit 4(it workshop)
Ad

Viewers also liked (15)

PDF
24sax
PDF
Xml & Java
PPT
PPT
Simple API for XML
PPT
RESTful services with JAXB and JPA
PDF
SAX, DOM & JDOM parsers for beginners
PPT
6 xml parsing
PDF
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
PPT
PDF
XML parsing using jaxb
PPTX
SAX (con PHP)
PPT
XML SAX PARSING
PPT
Xml parsers
PPT
Java XML Parsing
24sax
Xml & Java
Simple API for XML
RESTful services with JAXB and JPA
SAX, DOM & JDOM parsers for beginners
6 xml parsing
WEB PROGRAMMING UNIT IV NOTES BY BHAVSINGH MALOTH
XML parsing using jaxb
SAX (con PHP)
XML SAX PARSING
Xml parsers
Java XML Parsing
Ad

Similar to Xml dom & sax by bhavsingh maloth (20)

PPT
6867389 (1).ppt
PPT
6867389.ppt
PPT
6867389.ppt
PPT
Javascript.ppt
PPTX
Document object model
PPTX
DOM and Events
PPTX
12. session 12 java script objects
PPT
Web Performance Tips
PDF
Mongo learning series
PDF
Pyconie 2012
PPT
Automating Ievb
PDF
Web2py tutorial to create db driven application.
PDF
Java script
PPS
04 sm3 xml_xp_07
PDF
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
DOCX
DOM(Document Object Model) in javascript
PPTX
java API for XML DOM
PDF
Introduction to Javascript
PPTX
6867389 (1).ppt
6867389.ppt
6867389.ppt
Javascript.ppt
Document object model
DOM and Events
12. session 12 java script objects
Web Performance Tips
Mongo learning series
Pyconie 2012
Automating Ievb
Web2py tutorial to create db driven application.
Java script
04 sm3 xml_xp_07
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
DOM(Document Object Model) in javascript
java API for XML DOM
Introduction to Javascript

More from Bhavsingh Maloth (20)

PPT
web programming Unit VI PPT by Bhavsingh Maloth
PDF
web programming Unit VIII complete about python by Bhavsingh Maloth
PDF
web programming UNIT VIII python by Bhavsingh Maloth
PDF
Web programming unit IIII XML &DOM NOTES BY BHAVSINGH MALOTH
PDF
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
PDF
WEB PROGRAMMING UNIT VI BY BHAVSINGH MALOTH
PDF
WEB PROGRAMMING UNIT V BY BHAVSINGH MALOTH
PDF
WEB PROGRAMMING UNIT II BY BHAVSINGH MALOTH
PDF
Web programming UNIT II by Bhavsingh Maloth
PDF
Polytechnic jan 6 2012
PDF
Appscpolytechniclecturersg.s.paper2007
PDF
Appsc poly key 2013
PDF
Appscpolytechniclecturersg.s.paper2007
PDF
Appsc poly key 2013
PDF
98286173 government-polytechnic-lecturer-exam-paper-2012
PPT
Unit vii wp ppt
PDF
PDF
Wp unit III
PDF
Web Programming UNIT VIII notes
PDF
Wp unit 1 (1)
web programming Unit VI PPT by Bhavsingh Maloth
web programming Unit VIII complete about python by Bhavsingh Maloth
web programming UNIT VIII python by Bhavsingh Maloth
Web programming unit IIII XML &DOM NOTES BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VI BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT V BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT II BY BHAVSINGH MALOTH
Web programming UNIT II by Bhavsingh Maloth
Polytechnic jan 6 2012
Appscpolytechniclecturersg.s.paper2007
Appsc poly key 2013
Appscpolytechniclecturersg.s.paper2007
Appsc poly key 2013
98286173 government-polytechnic-lecturer-exam-paper-2012
Unit vii wp ppt
Wp unit III
Web Programming UNIT VIII notes
Wp unit 1 (1)

Recently uploaded (20)

PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Lesson notes of climatology university.
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Cell Structure & Organelles in detailed.
PDF
Classroom Observation Tools for Teachers
PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Complications of Minimal Access Surgery at WLH
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
Chinmaya Tiranga quiz Grand Finale.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Supply Chain Operations Speaking Notes -ICLT Program
Microbial diseases, their pathogenesis and prophylaxis
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
What if we spent less time fighting change, and more time building what’s rig...
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Anesthesia in Laparoscopic Surgery in India
Lesson notes of climatology university.
01-Introduction-to-Information-Management.pdf
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
Cell Types and Its function , kingdom of life
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Cell Structure & Organelles in detailed.
Classroom Observation Tools for Teachers
Yogi Goddess Pres Conference Studio Updates
Complications of Minimal Access Surgery at WLH
Module 4: Burden of Disease Tutorial Slides S2 2025

Xml dom & sax by bhavsingh maloth

  • 2. 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
  • 3. MB S Introducing the W3C DOM  DOM Implementation  Document Object Model Sli de 3
  • 4.  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
  • 5.  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
  • 6. ◦ 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
  • 7. 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
  • 8.  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
  • 9. 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
  • 10. 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
  • 11.  MB Following are the associated properties for the S Document object methods: ◦ ◦ ◦ ◦ ◦ ◦ childNodes documentElement firstChild lastChild parseError validateOnParse Document Object Model Sli de 11
  • 12. 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
  • 13.  MB Following are the associated properties Sthe for Node object methods: ◦ ◦ ◦ ◦ ◦ ◦ ◦ nodeName nodeType nodeValue childNodes firstChild lastChild text Document Object Model Sli de 13
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 21. Validate XML document with DTD  Read XML document  Document Object Model MB S Sli de 21
  • 22.  MB S To be continued… Document Object Model Sli de 22
  • 23. MB S XML How to program  http://www.w3.org  XML tutorial http://www.w3schools.com/w3c/  Document Object Model Sli de 23
  • 24. MB S Feel free to post questions at http://yht4ever.blogspot.com  or email to: [email protected] or [email protected]  Document Object Model Sli de 24