Replacing a Text Node with a New
CDATA Section Node

This Example describes a method to replace a Text node with new CDATASection
Node in a DOM document. Methods which are used for replacement of the text node
in the DOM Document are described below :-
Element root = doc.getDocumentElement():-allows direct access to the root of
the DOM document.
Element place = (Element) root.getFirstChild():-access the first child of the
root.
Element directions = (Element) place.getLastChild():-access the last child of
the node place and stores in the new node direction.
CDATASection dirdata =
doc.createCDATASection(dirtext):- creates a cdata node
with text in it.
directions.replaceChild(dirdata,directions.getFirstChild()):-replaces a child
node direction with CDATASection node.
Xml code for the program generated is:-
<?xml version="1.0" encoding="UTF-8"?>
<Company>
<Location>
<Employeename>Girish</Employeename>
<Companyname>Roseindia.net Rohini</Companyname>
</Location>
</Company>
|
CDATASectionNode.java
/*
* @Program that Edit Text by Insertion and Replacement
* CDATASectionNode.java
* Author:-RoseIndia Team
* Date:-10-Jun-2008
*/
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class CDATASectionNode {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.
newInstance();
builderFactory.setValidating(false);
Document doc = builderFactory.newDocumentBuilder().
parse(new File("Document8.xml"));
new CDATASectionNode().addCDATA(doc);
}
public void addCDATA(Document doc) {
Element root = doc.getDocumentElement();
Element Location = (Element) root.getFirstChild();
Element Companyname = (Element) Location.getLastChild();
System.out.println("Text node before Replacing is: "+
Companyname.getFirstChild().getNodeValue());
String dirtext ="\n"+
"Rose\n" +
"India\n" +
".Net\n" +
"Rohini\n"+
"<>";
CDATASection dirdata = doc.createCDATASection(dirtext);
Companyname.replaceChild(dirdata,Companyname.getFirstChild());
System.out.println("Text node after Replacing is: "+
Companyname.getFirstChild().getNodeValue());
}
}
|
Output of the program
Text node before Replacing is: Roseindia.net Rohini
Text node after Replacing is:
Rose
India
.Net
Rohini
<>
|
DownLoad Source Code

|