> Using the Java package org.w3c.dom,
> I have an Element object.
[quoted text clipped - 9 lines]
> Is there a simpler and more natural solution?
> some xml util package (that works with org.w3c.dom)?
Same answer as last time you asked.
David Portabella wrote:
> Using the Java package org.w3c.dom,
> I have an Element object.
[quoted text clipped - 9 lines]
> Is there a simpler and more natural solution?
> some xml util package (that works with org.w3c.dom)?
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.PrintStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.apache.xpath.XPathAPI;
import org.w3c.dom.Document;
public class RenameNode {
private static void print(PrintStream out, Document doc) throws
IOException {
OutputFormat fmt = new OutputFormat();
fmt.setIndenting(true);
XMLSerializer ser = new XMLSerializer(out, fmt);
ser.serialize(doc);
}
public static void main(String[] args) throws Exception {
String xml = "<doc><a>1</a><b>22</b><c>333</c></doc>";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new ByteArrayInputStream(xml.getBytes()));
print(System.out, doc);
doc.renameNode(XPathAPI.selectSingleNode(doc.getDocumentElement(),
"/doc/b"), null, "b2");
print(System.out, doc);
}
}
outputs:
<?xml version="1.0" encoding="UTF-8"?>
<doc>
<a>1</a>
<b>22</b>
<c>333</c>
</doc>
<?xml version="1.0" encoding="UTF-8"?>
<doc>
<a>1</a>
<b2>22</b2>
<c>333</c>
</doc>
Maybe you can use that.
Arne
David Portabella - 14 Aug 2007 18:31 GMT
On Aug 2, 11:00 pm, Arne Vajh?j <a...@vajhoej.dk> wrote:
> Arne
Node Document.renameNode(Node n, String namespaceURI, String
qualifiedName)
Great!!
Many thanks,
DAvid