More DOM - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

More DOM

Description:

Practically everything in the JAXP implementation is an interface, with a few abstract classes ... Writing out a DOM is conceptually simple it's just a tree walk ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 12
Provided by: davidma
Category:
Tags: dom | ii | implemented | is | more

less

Transcript and Presenter's Notes

Title: More DOM


1
More DOM
2
Manipulating DOM trees
  • DOM, unlike SAX, gives you the ability to create
    and modify XML trees
  • There are a few roadblocks along the way
  • Practically everything in the JAXP implementation
    is an interface, with a few abstract classes
  • Interfaces, such as Node, dont have
    constructors this makes it hard to get started
  • Since DOM was designed to be applicable from a
    number of languages, many things are not done
    the Java way
  • Once you get past these problems, the individual
    methods are pretty straightforward
  • Even with straightforward methods, working with
    trees is seldom simple

3
Overview
  • There are three basic kinds of operations
  • Creating a new DOM
  • Modifying the structure of a DOM
  • Modifying the content of a DOM
  • Creating a new DOM requires a few extra methods
    just to get started
  • Afterwards, you can grow the DOM by modifying
    its structure and content

4
Creating a DOM
import javax.xml.parsers. import
org.w3c.dom.Document try
DocumentBuilderFactory factory
DocumentBuilderFactory.newInstance()
DocumentBuilder builder
factory.newDocumentBuilder() Document doc
builder.newDocument() catch (ParserConfiguratio
nException e) ...
5
The rest of the methods
  • Most of the other methods are either instance
    methods of a Document object, or are inherited
    from Node
  • A few are from Attr, Text, Entity, and so on
  • Almost all of these methods may throw a
    DOMException
  • Ill just go through some of the more important
    methods briefly
  • The details can be looked up in the API if needed

6
Creating structure
  • The following are instance methods of Document
  • public Element createElement(String tagName)
  • public Element createElementNS(String
    namespaceURI,
    String qualifiedName)
  • public Attr createAttribute(String name)
  • public Attr createAttributeNS(String
    namespaceURI,
    String qualifiedName)
  • public ProcessingInstruction createProcessingInstr
    uction
    (String target, String data)
  • public EntityReference createEntityReference(Strin
    g name)
  • The above may all throw a DOMException
  • public Text createTextNode(String data)
  • public Comment createComment(String data)

7
Methods inherited from Node
  • public Node appendChild(Node newChild)
  • public Node insertBefore(Node newChild, Node
    refChild)
  • public Node removeChild(Node oldChild)
  • public Node replaceChild(Node newChild, Node
    oldChild)
  • setNodeValue(String nodeValue)
  • What this does depends on the type of node
  • public void setPrefix(String prefix)
  • public void normalize()
  • Combines adjacent TextNodes

8
Methods of Element
  • public void setAttribute(String name, String
    value)
  • public Attr setAttributeNode(Attr newAttr)
  • public void setAttributeNodeNS(String
    namespaceURI,
    String qualifiedName,
    String value)
  • public Attr setAttributeNodeNS(Attr newAttr)
  • public void removeAttribute(String name)
  • public void removeAttributeNS(String
    namespaceURI,
    String localName)
  • public Attr removeAttributeNode(Attr oldAttr)

9
Method of Attr
  • public void setValue(String value)
  • This is the only method that modifies an Attr
    the rest just get information

10
Writing out the DOM as XML
  • There are no Java-supplied methods for writing
    out a DOM as XML
  • Writing out a DOM is conceptually simpleits
    just a tree walk
  • However, there are a lot of detailsvarious node
    types and so onso doing a good job isnt
    complicated, but it is lengthy

11
The End
Write a Comment
User Comments (0)
About PowerShow.com