This week's book giveaway is in the Java 8 forum.
We're giving away four copies of Java 8 in Action and have Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft on-line!
See this thread for details.
The moose likes XML and Related Technologies and the fly likes XML parsing with dom Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "XML parsing with dom" Watch "XML parsing with dom" New topic
Author

XML parsing with dom

sanjeev kumar mandal
Greenhorn

Joined: Nov 26, 2007
Posts: 18
Hi All,

I am new to xml parsing and i have written a java program to dynamically add element to an existing xml. But the program is not adding element. Please any body correct me if i have done any mistake in the code .

I am sending the sample xml and java code below.

AddElement.java code below====

DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse("C:/DspaceAndMoodleProject/workspace/vocab/srsc.xml");
Element docEle = dom.getDocumentElement();
NodeList nl = docEle.getElementsByTagName("node");
if(nl != null && nl.getLength() > 0) {
for(int i = 0 ; i < nl.getLength();i++) {


Element el = (Element)nl.item(i);

if(el.getAttribute("label").equalsIgnoreCase("Church studies")){
System.out.println(" print label : " +el.getAttribute("label"));
System.out.println(" print id : " +el.getAttribute("id"));
Element createIsComposedByTag = dom.createElement("isComposedBy");
el.appendChild(createIsComposedByTag);
Element newNodeTag = dom.createElement("node");
newNodeTag.setAttribute("id", "0099019");
newNodeTag.setAttribute("label", "lecture on cristionity");
Element newHasNote = dom.createElement("hasNote");
newHasNote.setNodeValue("value shilong");
newNodeTag.appendChild(newHasNote);
createIsComposedByTag.appendChild(newNodeTag);
}
}
}

// end of java code


//==== srsc.xml file===

<?xml version="1.0" encoding="UTF-8"?>
<node id="ResearchSubjectCategories" label="Research Subject Categories">
<isComposedBy>
<node id="SCB11" label="HUMANITIES and RELIGION">
<isComposedBy>

<node id="VR110103" label="Church studies">
<hasNote>Kyrkovetenskap</hasNote>
</node>
<node id="VR110105" label="Systematic theology">
<hasNote>Systematisk teologi</hasNote>
</node>

<node id="VR110106" label="Islamology">
<hasNote>Islamologi</hasNote>
</node>
</isComposedBy>
<hasNote>publisher</hasNote>
</node>

<node id="SCB15" label="socisl science">
<isComposedBy>

<node id="VR11016" label="socisl studies">
<hasNote>socisl</hasNote>
</node>
<node id="VR1107" label="socisl abc">
<hasNote>abc</hasNote>
</node>

<node id="VR118" label="magnetism">
<hasNote>magnetic</hasNote>
</node>
</isComposedBy>
<hasNote>social studies by mit</hasNote>
</node>


</isComposedBy>
<hasNote>Research stusies</hasNote>
</node>
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12682
    
    5
But the program is not adding element.


You may have changed the DOM in memory but the original document file will be unchanged unless you write the new DOM over it.

Using the code tags would make it a lot easier to read your post.

Bill

Java Resources at www.wbrogden.com
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: XML parsing with dom
 
Similar Threads
Parsing XML doc
getting value with Sax/w3c dom
Dom parser for XML file
Append Child node in DOM
HJow to insert nodes using Dom?