Write an element to XML file
Hi all,
I have a xml file, the structure as follows.
Quote:
<?xml version="1.0"?>
<data>
<key>467</key>
<name>eranga262154</name>
</data>
I want to write extra tag as follows
Quote:
<?xml version="1.0"?>
<data>
<key>467</key>
<name>eranga262154</name>
<id>123</id>
</data>
How can I do that. I'll try something like this, but it's not update my xml file.
Code:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("records.xml"));
// Try to add an additional node
Node data = doc.getFirstChild();
NamedNodeMap dataAttributes = data.getAttributes();
Attr options = doc.createAttribute("id");
options.setValue("123");
dataAttributes.setNamedItem(options);
Re: Write an element to XML file
You're code is not writing the values to the file
Re: Write an element to XML file
Can you tell me where I'm going wrong.
Re: Write an element to XML file
I start this in different way. My initial file is like this.
Code:
<?xml version="1.0"?>
<data>
<key>467</key>
<name>eranga262154</name>
<id>123</id>
</data>
I want to read the value of id and change it and write back. Here is the way I read the value.
Code:
try{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("records.xml"));
NodeList ints = doc.getElementsByTagName("id");
if(ints.getLength() != 0) {
Element firstKeyElement = (Element)ints.item(0);
NodeList firstKey = firstKeyElement.getChildNodes();
String value = ((Node)firstKey.item(0)).getNodeValue().trim();
int intValue = Integer.parseInt(value);
System.out.println(value);
// change the value and write it to the same location
}
}
How can I write value in this way. I tried setNodeValue() and it wont work. No compile or runtime error either.