OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   adding new attribute to an existing xml fileusing JAXP with DOM

[ Lists Home | Date Index | Thread Index ]

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





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS