JDom 常用轉換方法 (轉)
import .io.*;
import javax..tranorm.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.Stream;
import org.j.*;
import org.jdom.input.*;
import org.jdom.output.*;
/**
*這個類提供一些 JDom 常用的方法。
* @author 劉海龍(to:xiaoleilong@mail.biti.edu.cn">xiaoleilong@mail.biti.edu.cn)
*/
public class JDomUtil {
/**
* 根據指定路徑的XML建立JDom物件
* @param filePath XML檔案的路徑
* @return 返回建立的JDom物件,建立不成功返回null 。
*/
public static Document buildFromFile(String filePath) {
try {
SAXBuilder builder = new SAXBuilder();
Document anotherDocument = builder.build(new File(filePath));
return anotherDocument;
} catch(JDOMException e) {
e.printStackTrace();
} catch(NullPointerException e) {
e.printStackTrace();
}
return null;
}
/**
* 根據XML 字串 建立JDom物件
* @param xmlString XML格式的字串
* @return 返回建立的JDom物件,建立不成功返回null 。
*/
public static Document buildFromXMLString(String xmlString) {
try {
SAXBuilder builder = new SAXBuilder();
Document anotherDocument = builder.build(new StringReader(xmlString));
return anotherDocument;
} catch(JDOMException e) {
e.printStackTrace();
} catch(NullPointerException e) {
e.printStackTrace();
}
return null;
}
/**
* 根據Dom物件建立JDom物件
* @param Dom org..dom.Document物件
* @return 返回建立的JDom物件,建立不成功返回null 。
*/
public static Document buildFromDom(org.w3c.dom.Document Dom)
throws JDOMException, IOException {
org.jdom.input.DOMBuilder builder = new org.jdom.input.DOMBuilder();
Document jdomDoc = builder.build(Dom);
return jdomDoc;
}
/**
*這個方法使用XMLOutputer將一個JDom物件輸出到標準輸出裝置,使用 GBK 編碼
* @param myDocument 將要被輸出的JDom物件
*/
public static void outputToStdout(Document myDocument) {
outputToStdout(myDocument,"GBK");
}
/**
*這個方法使用XMLOutputer將一個JDom物件輸出到標準輸出裝置
* @param myDocument 將要被輸出的JDom物件
* @param encoding 輸出使用的編碼
*/
public static void outputToStdout(Document myDocument,String encoding) {
try {
XMLOutputter outputter = new XMLOutputter(" ", true,encoding);
outputter.output(myDocument, System.out);
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
/**
* 這個方法將JDom物件轉換字串.
* @param document 將要被轉換的JDom物件
*/
public static String outputToString(Document document){
return outputToString(document,"GBK");
}
/**
* 這個方法將JDom物件轉換字串.
* @param document 將要被轉換的JDom物件
* @param encoding 輸出字串使用的編碼
*/
public static String outputToString(Document document,String encoding){
ByteArrayOutputStream byteRep = new ByteArrayOutputStream();
XMLOutputter docWriter = new XMLOutputter(" ", true,encoding);
try{
docWriter.output(document, byteRep);
}catch(Exception e){
}
return byteRep.toString();
}
public static org.w3c.dom.Document outputToDom(org.jdom.Document jdomDoc)
throws JDOMException {
org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
return outputter.output(jdomDoc);
}
/**
* 這個方法使用XMLOutputter將JDom物件輸出到檔案
* @param myDocument 將要輸出的JDom物件
* @param filePath 將要輸出到的路徑
*/
public static void outputToFile(Document myDocument,String filePath) {
outputToFile(myDocument,filePath,"GBK");
}
/**
* 這個方法使用XMLOutputter將JDom物件輸出到檔案
* @param myDocument 將要輸出的JDom物件
* @param filePath 將要輸出到的磁碟路徑
* @param encoding 編碼方式
*/
public static void outputToFile(Document myDocument,String filePath,String encoding) {
//setup this like outputDocument
try {
XMLOutputter outputter = new XMLOutputter(" ", true,encoding);
//output to a file
FileWriter writer = new FileWriter(filePath);
outputter.output(myDocument, writer);
writer.close();
} catch(java.io.IOException e) {
e.printStackTrace();
}
}
/**
* 這個方法將JDom物件透過樣式單轉換.
* @param myDocument 將要被轉換的JDom物件
* @param FilePath XSL檔案的磁碟路徑
*/
public static void executeXSL(Document myDocument,String xslFilePath,StreamResult xmlResult) {
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
// Make the input sources for the XML and XSLT documents
org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
org.w3c.dom.Document domDocument = outputter.output(myDocument);
javax.xml.transform.Source xmlSource = new javax.xml.transform.dom.DOMSource(domDocument);
StreamSource xsltSource = new StreamSource(new FileInputStream(xslFilePath));
//Get a XSLT transformer
Transformer transformer = tFactory.newTransformer(xsltSource);
//do the transform
transformer.transform(xmlSource, xmlResult);
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(TransformerConfigurationException e) {
e.printStackTrace();
} catch(TransformerException e) {
e.printStackTrace();
} catch(org.jdom.JDOMException e) {
e.printStackTrace();
}
}
//Main ,區域性測試用。
public static void main(String argv[]) {
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-962551/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JNI常用型別轉換型別
- LocalDateTime工具類(常用轉換)LDA
- png轉jpg,常用格式怎麼互相轉換
- iOS 常用RGB十六進位制顏色轉換方法iOS
- go-常用型別轉換Go型別
- 【轉】Object類的常用方法Object
- 工具方法:時間轉換
- 開源 - Ideal庫 - 常用時間轉換擴充套件方法(一)Idea套件
- 開源 - Ideal庫 - 常用時間轉換擴充套件方法(二)Idea套件
- PDF轉PPT怎麼轉?好用的PDF轉換方法有哪些?
- 常用的Java類方法【轉載】Java
- PDF轉換器手機版,PPT轉PDF方法
- Java常用時間格式轉換工具類Java
- 開源 - Ideal庫 - 常用時間轉換擴充套件方法(二)QvIdea套件
- 抽樣之逆轉換方法
- CAD怎麼轉換成PDF格式?CAD轉換PDF的正確方法
- scala常用操作-Tuple元祖轉換成String字串字串
- python hex轉ascii轉換Python程式碼的簡單方法PythonASCII
- QString與QByteArray互相轉換的方法
- pdf轉換成word,免費轉換
- Linux埠轉發的幾種常用方法Linux
- heic格式轉換jpg工具——轉易俠heic轉換器
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- FFMpeg 常用命令格式轉換,視訊合成
- 陣列與字串方法與相互轉換陣列字串
- Python/Java AES 加解密方法互相轉換PythonJava解密
- 如何將文字轉換為向量?(方法二)
- 如何將文字轉換為向量?(方法三)
- flask實現python方法轉換服務FlaskPython
- js顯式轉換和隱式轉換JS
- AD模數轉換&DA數模轉換
- csv格式怎麼轉換成excel?csv格式轉換成excel格式檔案的方法Excel
- JPG轉PDF如何實現?圖片批次轉換PDF的快捷方法
- 轉換流
- GUID轉換GUI
- iOS引用轉換:Foundation與Core Foundation物件互相轉換(__CFString轉NSString,void *轉id等等)iOS物件
- 圖片格式怎麼轉換,如何轉換jpg
- PDF轉換CAD圖紙,如何快速轉換呢?
- unix時間轉換為datetimedatetime轉換為unixtime