📄 xmlutility.java
字号:
/*
* Created on 2003-4-9
*
*/
package com.tanghan.util;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.OutputStreamWriter;
//import java.io.FileInputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.UnknownHostException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
//import javax.xml.parsers.*;
/**
* @author Jerry Tang
* @version 1.0
* @copyright (C) 2002 有色信息管理系统项目组
*/
public class XMLUtility {
private static org.apache.xerces.parsers.DOMParser parser =
new org.apache.xerces.parsers.DOMParser();
static{
try{
parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
parser.setFeature("http://xml.org/sax/features/validation",false);
}catch(Exception ex){
ex.printStackTrace();
}
}
private XMLUtility() {
}
public static void document2XML(Document document,String XMLFilePath) throws TanghanException{
try{
DocumentBuilderFactory factory
= DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder parser = factory.newDocumentBuilder();
TransformerFactory xformFactory
= TransformerFactory.newInstance();
Transformer idTransform = xformFactory.newTransformer();
Source input = new DOMSource(document);
Result output = new StreamResult(XMLFilePath);
idTransform.transform(input, output);
}catch(Exception err){
throw new TanghanException(err);
}
}
public static void document2Writer(final Document document,PrintWriter writer) throws TanghanException{
try{
DocumentBuilderFactory factory
= DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder parser = factory.newDocumentBuilder();
TransformerFactory xformFactory
= TransformerFactory.newInstance();
Transformer idTransform = xformFactory.newTransformer();
Source input = new DOMSource(document);
Result output = new StreamResult(writer);
idTransform.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd");
idTransform.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "-//Hibernate/Hibernate Mapping DTD 2.0//EN");
idTransform.transform(input, output);
//idTransform.transform()
}catch(Exception err){
throw new TanghanException(err);
}
}
public static Document xml2Document(String XMLFilePath) throws TanghanException{
try{
parser.parse(XMLFilePath) ;
Document document =parser.getDocument();
return document;
}catch(Exception err){
throw new TanghanException(err);
}
}
public static Document xml2Document(InputStream inputStream) throws TanghanException{
try{
InputSource inputSource = new InputSource(inputStream);
parser.parse(inputSource) ;
Document document =parser.getDocument();
return document;
}catch(UnknownHostException ukHost){
throw new TanghanException(ukHost);
}catch(Exception err){
throw new TanghanException(err);
}
}
public static String getNodeAttr(Element pElement,String pElementName,String pAttrName){
NodeList nodelist=pElement.getElementsByTagName(pElementName) ;
Node node=nodelist.item(0) ;
NamedNodeMap attrs=node.getAttributes() ;
Node attrNode=attrs.getNamedItem(pAttrName) ;
return attrNode.getNodeValue();
}
public static String getNodeAttr(Element pElement,String pElementName,String pAttrName,int index){
NodeList nodelist=pElement.getElementsByTagName(pElementName) ;
Node node=nodelist.item(index) ;
NamedNodeMap attrs=node.getAttributes() ;
Node attrNode=attrs.getNamedItem(pAttrName) ;
return attrNode.getNodeValue();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -