Creating a DocumentFragment Subtree and Appending it to the Document

This Example shows how to Create a DocumentFragment Subtree and describes the way to Append this fragment tree to a DOM document.

Ads

Tutorials   
JAXB Create XML File And Get Data From XML XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials The Simple API for XML (SAX) APIs Part I XML,XML Tutorials,Online XML Tutorial,XML Help Tutorials XML Tutorial Ignoring Comments While Parsing an XML File Accessing XML file from Java Preventing Expansion of Entity References Getting next Tag in the XML File Replacing a Node with a New One Reading XML Data from a Stream Reading an XML document using JDOM Query XML with an XPath expression Normalize All of the Text in a Document Modifying Text by Replacement Insert a Processing Instruction and a Comment Node Getting text values from a NodeList Finding an ID Value and Print the Element Text Edit Text by Insertion and Replacement Duplicating a Subtree Deleting Two Attributes Delete the First Child of the Root Node Creating XML Tree Creating a DocumentFragment Subtree and Appending it to the Document Creates element node, attribute node, comment node, processing instruction and a CDATA section Creates a New DOM Parse Tree Replacing a Text Node with a New CDATA Section Node Create an Empty DOM Document Adding an Attribute in DOM Document Transforming XML with XSLT Transforming an XML File with XSL Transforming XML with SAXFilters Storing properties in XML file Testing EntityReferences in Xml Splitting One Text Node into Three Reading XML from a File Modifying Text by Cutting and Pasting Locating a Node by Using Siblings Locate a Node and Change Its Content Loading properties from a XML file Listing nodes used in a document Inserting a New Entry in a List Creating an InlineStreamFilter Ignoring Comments While Parsing an XML File Handling Errors While Parsing an XML File Emitting DOCTYPE Declaration while writing XML File Converting CDATA Nodes into Text Nodes Java DOM Tutorial Creating Blank DOM Document
Ads

Creating a DocumentFragment Subtree and Appending it to the Document

     

This Example shows  how to Create a DocumentFragment Subtree and describes the way to Append this fragment tree to a DOM document. JAXP (Java API for XML Processing) is an interface which provides parsing of xml documents. Here the Document BuilderFactory is used to create new DOM parsers. Here we use "javax.xml.transform" package that defines the generic APIs to process transformation instructions, it also performs a transformation from source to result. There are some of the methods used in code given below for Creating a DocumentFragment subtree:-

Element root = doc.getDocumentElement():- This method allows direct access to the root Element of the document.

TransformerFactory factory = TransformerFactory.newInstance():- TransformerFactory is a class that is used to create Transformer objects. A TransformerFactory instance can be used to create Transformer and Templates objects.

transformer.transform(source, result):- This function organize data according to a style sheet as we are retrieving it from the File.

Element element = doc.createElement("name"):- This method creates an Element Node. Here "name" is the String that specifies the name of the element node.

Text text = doc.createTextNode(name):- This method creates a Text Node. Here "name" is the String that specifies the text for the node.

element.appendChild(text):- This method adds a node after the last child node of the specified node.


Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8"?>
<Company>
    <Employee>
        <Employeename>Girish Tewari</Employeename>
        <email>[email protected]</email>
    </Employee>
    <Employee>
        <Employeename>Komal</Employeename>
        <email>[email protected]</email>
    </Employee>
    <Employee>
        <Employeename>Mahendra</Employeename>
        <email>[email protected]</email>
    </Employee>
</Company>

 
Creatingdocumentfragment.java

/* 
 * @Program for Creating a DocumentFragment Subtree and 
  Appending to the Document

 * Creatingdocumentfragment.java 
 * Author:-RoseIndia Team
 * Date:-10-Jun-2008
 */

import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

public class Creatingdocumentfragment {

  public static void main(String[] args) throws Exception {
  DocumentBuilderFactory factory = 
  DocumentBuilderFactory.newInstance();

  Document doc = factory.newDocumentBuilder().parse(
 
new File("2.xml"));
  new Creatingdocumentfragment().newFragment(doc);
  }

  public void newFragment(Document doc) throws Exception {

  Element root = doc.getDocumentElement();
  DocumentFragment fragment = doc.createDocumentFragment();
  Element person = Fragmenttree(doc, "Girish""developer");
  fragment.appendChild(person);
  person = Fragmenttree(doc, "Komal""Developer");
  fragment.appendChild(person);
  root.appendChild(fragment);
  TransformerFactory factory = TransformerFactory.newInstance();
  Transformer transformer = factory.newTransformer();

  transformer.setOutputProperty(OutputKeys.INDENT, "yes");

  // create string from xml tree
  StringWriter sw = new StringWriter();
  StreamResult result = new StreamResult(sw);
  DOMSource source = new DOMSource(doc);
  transformer.transform(source, result);
  String xmlString = sw.toString();
  System.out.println(xmlString);
  }

  public Element Fragmenttree(Document doc, 
   String name, String Status) {

  Element element = doc.createElement("name");
  Text text = doc.createTextNode(name);
  element.appendChild(text);

  Element status = doc.createElement("Status");
  Text text1 = doc.createTextNode(Status);
  status.appendChild(text1);

  Element Person = doc.createElement("person");
  Person.appendChild(element);
  Person.appendChild(status);
  return (Person);

  }
}


Output of the program:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Company>
    <Employee>
        <Employeename>Girish Tewari</Employeename>
        <email>[email protected]</email>
    </Employee>
    <Employee>
        <Employeename>Komal</Employeename>
        <email>[email protected]</email>
    </Employee>
    <Employee>
        <Employeename>Mahendra</Employeename>
        <email>[email protected]</email>
    </Employee>
<person>
<name>Girish</name>
<Status>developer</Status>
</person>
<person>
<name>Komal</name>
<Status>Developer</Status>
</person>
</Company>

 
Download SourceCode

Advertisements

Ads
Share on Google+Share on Google+

Creating a DocumentFragment Subtree and Appending it to the Document

Posted on: August 24, 2008 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

Ads
 

Discuss: Creating a DocumentFragment Subtree and Appending it to the Document  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0

Ads

 

Ads