?? xmlmanage.java
字號:
package com.lonton.par;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class XMLManage {
private Document document= null; //文檔對象
private File file = null; //xml文件
private Element rootElement = null;//根節(jié)點
public XMLManage(){
}
//通過xml文件,在創(chuàng)建對象是初始化屬性文檔對象,根節(jié)點和文件
public XMLManage(File file){
init(file);
}
//初始化屬性文檔對象,根節(jié)點和文件
private void init(File file){
try{
this.file = file;//初始化文件
SAXReader reader = new SAXReader();
document = reader.read(file);//初始化文檔
this.rootElement = this.document.getRootElement();//初始化根節(jié)點
}catch(DocumentException e){
e.printStackTrace();
}catch(NullPointerException e){
e.printStackTrace();
}
}
//重載構(gòu)造函數(shù),以String類型對象作為參數(shù)
public XMLManage(String fileName){
File file1 = new File(fileName);
init(file1);
}
public Element getElement(String name,String name2){
Element element = null;
try{
Element e = rootElement.element(name);
element = e.element(name2);
}catch(Exception e){
e.printStackTrace();
}
return element;
}
public Element getElement(String name){
Element element = null;
try{
element = document.getRootElement();
}catch(Exception e){
e.printStackTrace();
}
return element;
}
//得到子節(jié)點的值
public String getChildElementValue(Element id,String name){
String value = null;
Element element = id.element(name);
try{
value = element.getText();
}catch(Exception e){
e.printStackTrace();
}
return value;
}
public void updateXML(){
updateXML(this.document,this.file);
}
public void updateXML(Document document,File file){
try{
FileOutputStream os = new FileOutputStream(file);
XMLWriter outp = new XMLWriter(os);
outp.write(document);
outp.flush();
outp.close();
}catch(Exception e){
e.printStackTrace();
}
}
//通過名稱和子節(jié)點的值得到節(jié)點
public Element getElement(String name,String chileName,String childValue){
Element element= null;
try{
List list = this.document.selectNodes(name);//得到所給名稱的所有節(jié)點
Iterator iterator = list.iterator();
String value = null;
while(iterator.hasNext()){//迭代找要求的節(jié)點
element = (Element)iterator.next();
value = element.element(chileName).getText();
if(value.equals(childValue)){//找到就跳出循環(huán)。
break;
}
}
}catch(Exception e){
e.printStackTrace();
}
return element;
}
public Document getDocument() {
return document;
}
public void setDocument(Document document) {
this.document = document;
}
public String getFileName() {
return file.getAbsolutePath();
}
public void setFileName(File file) {
this.file = file;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -