Source Code : DOM helper for root element
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
DOM helper for root element
/**
*
*/
//org.ajax4jsf.builder.xml;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.DocumentType;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
* This class must read XML file from input stream and can extract body of root
* element for include into target in generation.
*
* @author shura
*
*/
public class XMLBody {
private Document xmlDocument;
private Element rootElement;
/**
* Load XML document and parse it into DOM.
*
* @param input
* @throws ParsingException
*/
public void loadXML(InputStream input) throws Exception {
try {
// Create Document Builder Factory
DocumentBuilderFactory docFactory = DocumentBuilderFactory
.newInstance();
docFactory.setValidating(false);
// Create Document Builder
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
docBuilder.isValidating();
// Disable loading of external Entityes
docBuilder.setEntityResolver(new EntityResolver() {
// Dummi resolver - alvays do nothing
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
return new InputSource(new StringReader(""));
}
});
// open and parse XML-file
xmlDocument = docBuilder.parse(input);
// Get Root xmlElement
rootElement = xmlDocument.getDocumentElement();
} catch (Exception e) {
throw new Exception("Error load XML ", e);
}
}
/**
* Check name of root element is as expected.
*
* @param name
* @return
*/
public boolean isRootName(String name) {
return rootElement.getNodeName().equals(name);
}
public String getDoctype() {
DocumentType doctype = xmlDocument.getDoctype();
if (null != doctype) {
return doctype.getName();
}
return null;
}
public String getPiblicId() {
DocumentType doctype = xmlDocument.getDoctype();
if (null != doctype) {
return doctype.getPublicId();
}
return null;
}
public String getRootTypeName() {
return rootElement.getSchemaTypeInfo().getTypeName();
}
public String getContent() throws Exception {
NodeList childNodes = rootElement.getChildNodes();
return serializeNodes(childNodes);
}
private String serializeNodes(NodeList childNodes) throws Exception {
DocumentFragment fragment = xmlDocument.createDocumentFragment();
for (int i = 0; i < childNodes.getLength(); i++) {
fragment.appendChild(childNodes.item(i).cloneNode(true));
}
try {
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty("omit-xml-declaration", "yes");
StringWriter out = new StringWriter();
StreamResult result = new StreamResult(out);
transformer.transform(new DOMSource(fragment), result);
return out.toString();
} catch (Exception e) {
throw new Exception(e);
}
}
public String getContent(String xpath) throws Exception{
XPath path = XPathFactory.newInstance().newXPath();
NodeList childNodes;
try {
childNodes = (NodeList) path.evaluate(xpath, xmlDocument,XPathConstants.NODESET);
} catch (XPathExpressionException e) {
throw new Exception("Error evaluate xpath",e);
}
return serializeNodes(childNodes);
}
}
Thank with us