dom4j默认的读取和写入编码是ISO-8859-1
//读取 File file = new File("路径"): FileInputStream in = new FileInputStream(file); Reader reader = new InputStreamReader(in,"utf-8"); SAXReader saxReader = new SAXReader(); saxReader.read(reader); //写入 FileOutputStream out = new FileOutputStream(file); Writer writer = new OutputStreamWriter(out,"utf-8"); document.writer(writer);
解析的xml文件内容片段如下
<?xml version='1.0' encoding='UTF-8'?>
<hibernate-configuration>
<session-factory>
<property name="connection.url">
jdbc:oracle:thin:@192.168.0.1:1521:oral
</property>
<property name="connection.username">test</property>
<property name="connection.password">123</property>
</session-factory>
</hibernate-configuration>
java代码片段如下
String path = getServletContext().getRealPath("/")
+ "WEB-INF/classes/hibernate.";
File file = new File(path + area + ".xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(file);
Element sf = doc.getRootElement().element("session-factory");
for(Iterator<element> ite = sf.elementIterator();ite.hasNext();) {
Element e = ite.next();
if (e.attributeValue("name").equals("connection.url")) {
System.out.println(e.getTextTrim()); }
else if(e.attributeValue("name").equals("connection.username")) {
System.out.println(e.getTextTrim()); }
else if(e.attributeValue("name").equals("connection.password")) {
System.out.println(e.getTextTrim()); }
}