Modifying Text by Cutting and Pasting

This Example describes a method to cut and paste the Text in a DOM document.



Modifying Text by Cutting and Pasting


This Example describes a method to cut and paste the Text in a DOM document. Methods which are used to cut and paste text in the DOM Document are described below :-

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

Element place = (Element) root.getFirstChild():-retrives the first child of the root.

Text name = (Text) place.getFirstChild().getFirstChild():-creates a text node and gets the sub child of the node named place.

Text directions = (Text) place.getLastChild().getFirstChild():- makes a text node and access the sub child of the node name place. name.getLength():-gets the length of the nodelist name.

name.deleteData(offset, count):-This method deletes data from a text node. Here offset specifies where to begin removing characters. offset value starts with zero

directions.substringData(offset, count):-This method retrives a substring of the full string from the specified range.

name.appendData(bridge):-adds a String to the end of the text node.

Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8"?>
<Companyname>Roseindia .Net</Companyname> 
<Employee>Girish Tewari</Employee> 

 * @Program that Modify Text by Cutting and Pasting
 * Author:-RoseIndia Team
 * Date:-10-Jun-2008

import javax.xml.parsers.*;
import org.w3c.dom.*;

public class Cutting {

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

  Document doc = builderFactory.newDocumentBuilder().parse(new File("Document4.xml"));
  new Cutting().edit(doc);

  public void edit(Document doc) {
  int length;
  int count;
  int offset;
  Element root = doc.getDocumentElement();
  Element place = (Element) root.getFirstChild();
  Text name = (Text) place.getFirstChild().getFirstChild();
  Text directions = (Text) place.getLastChild().getFirstChild();
  System.out.println("Name before cutting is: " + name.getData());
  System.out.println("Direction before cutting is: " + directions.getData());

  //for cutting data from name
  length = name.getLength();
  count = 4;
  offset = length - 4;
  name.deleteData(offset, count);
  System.out.println("name after cutting is: " + name.getData());

  //for cutting data from direction
  length = directions.getLength();
  count = 6;
  offset = length - count;
  String bridge = directions.substringData(offset, count);
  System.out.println("name after pasting is: " + name.getData());


Output of the program:-

Name before cutting is: Roseindia .Net
Direction before cutting is: Girish Tewari
name after cutting is: Roseindia
name after pasting is: Roseindia Tewari


Download Source Code