1. 程式人生 > >JDom 常用轉換方法

JDom 常用轉換方法

import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;

/**
*這個類提供一些 JDom 物件常用的方法。
* @author 劉海龍([email protected])
*/
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.w3c.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 xslFilePath 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[]) {

}
}

相關推薦

JDom 常用轉換方法

import java.io.*;import javax.xml.transform.*;import javax.xml.transform.stream.StreamResult;import javax.xml.transform.stream.StreamSourc

常用的電平轉換方法

在電路設計過程中,會碰到處理器MCU的I/O電平與模組的I/O電平不相同的問題,為了保證兩者的正常通訊,需要進行電平轉換。 幾個關鍵問題: 1 解決電平轉換問題,最根本的就是要解決電平的相容問題,而電平相容原則有兩條:①VOH>VIH②VOL<vil ⒉對於多電源系統,某些器件不

JS常用資料型別轉換方法大全

一、字串轉換成數字 字串轉換成數字最常用的方法有兩個:parseFloat和parseInt。parseFloat是把一個字串轉換為一個浮點數,parseInt是把一個字串轉換為一個整數。示例如下: var num = parseInt('123abc'); //返回12

python之路day03--資料型別分析,轉換,索引切片,str常用操作方法

資料型別整體分析 int :用於計算bool:True False 使用者判斷str:少量資料的儲存list:列表 儲存大量資料 上億資料[1,2,3,'zzy',[aa]]元組:只讀列表(1,23,'asdadas')dist:字典 鍵值對的形式儲存,關係型{'name':'小王八','age':16}

Java中常用的資料型別轉換方法

int -> String int i=12345; String s=”“; 第一種方法:s=i+”“; 第二種方法:s=String.valueOf(i); 這兩種方法有什麼區別呢?作用是不是一樣的呢?是不是在任何下都能互換呢? Strin

常用js型別轉換方法淺析

1、其他型別轉為 number: 1、parseFloat parseFloat:接受一個引數,將字串轉換為數字型別,如果是引用型別(null除外),會先進行toString(),然後對返回字串進行轉換處理。例子如下: parseFloat({

javascrit--常用互動方法

.com 窗口 onclick () eight 學習 score 變量 java 本文是剛開始學習javascript的一些基礎知識 JavaScript--互動 JavaScript輸出內容 document.write("內容"+"<br>"); Java

js-array 常用方法

nsh lin map ice -a 方法 -h style for 1.indexOf,filter,forEach,map,reduce實例  鏈接:http://www.jb51.net/article/60502.htm 2.join,reverse,slice,p

String對象中常用方法有哪些?

bsp rec val 字符串長度 方法 end 出現 小寫 轉變 1、length()字符串長度   String str="abc"; System.out.println(str.length()); //輸出3 2、charAt()截取一

分享一個js常用方法

pty index def ie9 svg 輪播 hid window 常用 (function ($) { $.tools = function () { var _moduleTextPath = $.root + ‘templets/modu

Activity常用方法

and 顏色 根據 ring true 不可用 text 字符 size 1. View findViewById(int id) //根據組件ID取得組件對象setContentView(int LayoutResID) //設置布局文件,設置顯示組件 2. Tex

Git文件沖突的常用解決方法

lease 內容 服務器 手動 輸入 代碼 them nbsp 同一文件 在提交代碼時,偶爾會有文件沖突的情況,當出現: Please, commit your changes or stash them before you can merge. 提示後,可用依次輸入下列

js字母大小寫轉換方法

tps 提示 b- 大寫 lower pre http com pst js字母大小寫轉換方法:1、轉換成大寫:toUpperCase()2、轉換成小寫:toLowerCase()3、舉例: (1)var a="aBcD"; a=a.toUppe

JSP內置對象及常用方法

並且 tex str ddc exceptio mime ins 路徑 ddr 1.out: println():向客戶端輸出各種類型的數據 newLine():輸出一個換行符 close():關閉輸出流 fiush():輸出緩沖區數據 clearBuffer():清

PHP兩個常見不常用方法 method_exists call_user_func

php class str log 索引 truct all array blog method_exists判斷方法是否存在 <?php class F{ public function __construct(){ if(method_

常用驗證方法

a-z () 手機號 身份證 logs bsp 郵箱 div function 1.手機號驗證: //手機號驗證function checkMobile(sMobile){ //var sMobile = $("#phone").val(); if(!

JavaScript數組常用方法

span tac bst 刪除 ray script yahoo del code var arr = [1, 2, 3.14, ‘Hello‘, null, true]; arr.length; // 6直接給Array的length賦一個新的值會導致Array大小的變化

javascript 對象屬性的添加,刪除,json對象和字符串轉換方法

star font style strong 字符串轉換 定義 obj tarray def 1:動態添加 對象屬性 var obj = new Object(); console.log (obj.username); obj.username = "haha"; con

OC各種數據類型之間的轉換方法

array ews i++ lan intvalue blank detail light tar NSNumber轉NSString: 假設現有一NSNumber的變量A,要轉換成NSString類型的B 方法如下: NSNumberFormatter* numberFo

python中字符串(str)的常用處理方法

num replace 不同的 swa pos track con strong 位置 str=‘Python String function‘ 生成字符串變量str=‘python String function‘字符串長度獲取:len(str)例:print ‘%