[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] adding new attribute to an existing xml fileusing JAXP with DOM
Hi This is my first post to this forum and Im hoping to get some suggestions as Im completely exhausted trying to resolve my query. My query is to add a new attribute to a selected node in an existing xml file. I have a test.xml file whose structure is such: <Top> <Tags> <Tag id="123" name="Home"> <Value>Inner Text</Value> </Tag> </Tags> </Top> Now using the JAXP DocumentBuilder I am able to access the attribute @name from the <Tag> node. I then want to insert a new attribute @new="some value" to this <Tag> node. But despite trying out several options Im not able to. I want to do something similar with the <Value> node as well and append some InnerText to the existing one. My code so far is: -------------------------------- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(test.xml); NodeList list = doc.getElementsByTagName("Tag"); for(int i=0; i<list.getLength();i++){ Element tagNode = (Element)list.item(i); //<Tag> nm = tagNode.getAttributes(); for(int j=0;j<nm.getLength();j++){ Node ndNm = nm.item(j); // id, name --attributes names nodeLocNm = ndNm.getNodeName(); if(nodeLocNm.equals(new String("name"))){ String nodeVal = nm.item(j).getNodeValue(); //@name value -- do something String newRes = "new value"; tagNode.setAttribute("new", "new value"); } } } -------------------------------------------------- Of course no attribute @name gets added to test.xml which is my problem ! Could someone please help. Thanks in advance to everyone for helping out! Rahil
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|