
com.venky.xml.XMLDocument Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of common Show documentation
Show all versions of common Show documentation
Commonly used programming tasks in java
The newest version!
package com.venky.xml;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
public class XMLDocument {
Document document = null;
XMLElement documentRoot = null;
static DocumentBuilder builder = null;
static {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
builder = factory.newDocumentBuilder();
}catch (ParserConfigurationException ex){
throw new RuntimeException(ex);
}
}
public XMLDocument(Document document) {
this.document = document;
this.documentRoot = new XMLElement(this, document.getDocumentElement());
}
public XMLDocument(String rootName){
document = builder.newDocument();
documentRoot = createElement(rootName);
document.appendChild(documentRoot.getInner());
}
public void remove(XMLElement element){
document.removeChild(element.getInner());
}
public void append(XMLElement element){
if (element.getOwnerDocument() != document){
Node node = document.importNode(element.getInner(),true);
document.appendChild(node);
}else {
document.appendChild(element.getInner());
}
documentRoot=new XMLElement(this,document.getDocumentElement());
}
public XMLDocument(XMLElement element){
document = builder.newDocument();
Node documentRoot = document.importNode(element.getInner(),true);
document.appendChild(documentRoot);
}
public final XMLElement createElement(String tagName) {
return new XMLElement(this, document.createElement(tagName));
}
public Document getDocument() {
return document;
}
public XMLElement getDocumentRoot() {
return documentRoot;
}
public void serialize(File f) {
XMLSerializationHelper.serialize(getDocument(), f);
}
public void serialize(OutputStream os) {
serialize(new PrintWriter(os));
}
public void serialize(Writer w) {
XMLSerializationHelper.serialize(getDocument(), w);
}
public static XMLDocument getDocumentFor(File f) {
return new XMLDocument(XMLSerializationHelper.getDocument(f));
}
public static XMLDocument getDocumentFor(InputStream is) {
return new XMLDocument(XMLSerializationHelper.getDocument(is));
}
public static XMLDocument getDocumentFor(String s){
StringReader r = new StringReader(s);
return getDocumentFor(r);
}
public static XMLDocument getDocumentFor(Reader r){
return new XMLDocument(XMLSerializationHelper.getDocument(r));
}
@Override
public String toString() {
Writer w = new StringWriter();
XMLSerializationHelper.serialize(getDocument(), w);
return w.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy