java利用dom4j讀取xml

java鏈接oracle數據庫的時候, 須要從特定地方讀取xml文件中的sql去get結果集,java

xml文件放在和java文件: SqlLoaderFromXML的目錄下OracleSQL, xml文件名:Product.xml,node

<?xml version="1.0" encoding="GB2312"?>
<SQLSTRING>sql

<Products>
select distinct productid
from table_product_list
</Products>

</SQLSTRING>數據庫

java sample以下:oracle

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Iterator;
import java.util.List;dom

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;.net


public class SqlLoaderFromXML {xml

private static String sqlPath = "./OracleSQL/";
private static String sqlFile = sqlPath + "Product.xml";
get

public static String loadSqlFromXml(String xmlFile, String xpath) throws FileNotFoundException, DocumentException {input

InputStream input = new FileInputStream(xmlFile);
SAXReader saxReader = new SAXReader(false);
Document sqlDoc = saxReader.read(input);
Node node = sqlDoc.selectSingleNode(xpath);
return node.getText();

}

public static void main(String[] args) throws Exception {

String sqlString = loadSqlFromXml(sqlFile, "//SQLSTRING/Products");

System.out.println("SQL From XML File: \n" + sqlString);
}
}

能夠打包後續代碼共享

相關文章
相關標籤/搜索