📄 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;//根节点
public XMLManage(){
}
//通过xml文件,在创建对象是初始化属性文档对象,根节点和文件
public XMLManage(File file){
init(file);
}
//初始化属性文档对象,根节点和文件
private void init(File file){
try{
this.file = file;//初始化文件
SAXReader reader = new SAXReader();
document = reader.read(file);//初始化文档
this.rootElement = this.document.getRootElement();//初始化根节点
}catch(DocumentException e){
e.printStackTrace();
}catch(NullPointerException e){
e.printStackTrace();
}
}
//重载构造函数,以String类型对象作为参数
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;
}
//得到子节点的值
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();
}
}
//通过名称和子节点的值得到节点
public Element getElement(String name,String chileName,String childValue){
Element element= null;
try{
List list = this.document.selectNodes(name);//得到所给名称的所有节点
Iterator iterator = list.iterator();
String value = null;
while(iterator.hasNext()){//迭代找要求的节点
element = (Element)iterator.next();
value = element.element(chileName).getText();
if(value.equals(childValue)){//找到就跳出循环。
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;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -