The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > org.w3c.dom  [30 examples] > Adding and Removing Nodes  [6 examples]

e542. Adding a Processing Instruction to a DOM Document

    // Obtain an XML document; this method is implemented in
    // e510 The Quintessential Program to Create a DOM Document from an XML File
    Document doc = parseXmlFile("infilename.xml", false);
    
    // Add a PI at the beginning of the document
    Element element = doc.getDocumentElement();
    ProcessingInstruction pi = doc.createProcessingInstruction("target", "instruction");
    element.getParentNode().insertBefore(pi, element);
    
    // Find all elements with the name "entry" and add a child PI
    NodeList list = doc.getElementsByTagName("entry");
    for (int i=0; i<list.getLength(); i++) {
        element = (Element)list.item(i);
        pi = doc.createProcessingInstruction("target", "instruction="+i);
    
        // Add the comment to this element
        element.appendChild(pi);
    }
This is the sample input for the example:
    <?xml version="1.0" encoding="UTF-8"?>
    <map>
        <entry key="key1" value="value1" />
        <entry key="key2" />
    </map>
The resulting XML from running the example is:
    <?xml version="1.0" encoding="UTF-8"?>
    <?target instruction?>
    <map>
        <entry key="key1" value="value1"><?target instruction=0?></entry>
        <entry key="key2"><?target instruction=1?></entry>
    </map>

 Related Examples
e539. Adding a Node to a DOM Document
e540. Adding a CDATA Section to a DOM Document
e541. Adding a Comment to a DOM Document
e543. Adding a Text Node to a DOM Document
e544. Removing a Node from a DOM Document

See also: Element Attributes    Elements    Getting Nodes    Text Nodes    XPath   


© 2002 Addison-Wesley.