此功能要用到两个包:
1、dom4j-1.6.1.jar
2、jaxen-1.1-beta-6.jar
示例:
------------------------Number_class类文件Number_class.java------------------------
package java_xml;
public class Number_class {
public Number_class() {
}
private String id;
private String redone;
private String redtwo;
private String redthree;
private String redfour;
private String redfive;
private String redsix;
private String blue;
public String getBlue() {
return blue;
}
public void setBlue(String blue) {
this.blue = blue;
}
public String getRedsix() {
return redsix;
}
public void setRedsix(String redsix) {
this.redsix = redsix;
}
public String getRedfive() {
return redfive;
}
public void setRedfive(String redfive) {
this.redfive = redfive;
}
public String getRedfour() {
return redfour;
}
public void setRedfour(String redfour) {
this.redfour = redfour;
}
public String getRedthree() {
return redthree;
}
public void setRedthree(String redthree) {
this.redthree = redthree;
}
public String getRedtwo() {
return redtwo;
}
public void setRedtwo(String redtwo) {
this.redtwo = redtwo;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getRedone() {
return redone;
}
public void setRedone(String redone) {
this.redone = redone;
}
}
------------------------处理类文件My_xmlaction.java------------------------
package java_xml;
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;
public class My_xmlaction {
//建立xml文件
public int createXMLFILE(String filename, Number_class num) {
int returnValue = 0;
Document document = DocumentHelper.createDocument();
document.addComment("This is a test file");
Element rootElement = document.addElement("Numbers");//根
Element number = rootElement.addElement("Number");
Element id = number.addElement("Id");//期
id.setText(num.getId());
Element redone = number.addElement("Redone");//第一个
redone.setText(num.getRedone());
Element redtwo = number.addElement("Redtwo");//第二个
redtwo.setText(num.getRedtwo());
Element redthree = number.addElement("Redthree");//第三个
redthree.setText(num.getRedthree());
Element redfour = number.addElement("Redfour");//第四个
redfour.setText(num.getRedfour());
Element redfive = number.addElement("Redfive");//第五个
redfive.setText(num.getRedfive());
Element redsix = number.addElement("Redsix");//第六个
redsix.setText(num.getRedsix());
Element blue = number.addElement("Blue");//第七个
blue.setText(num.getBlue());
try {
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));
writer.write(document);
writer.close();
returnValue = 1;
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return returnValue;
}
}
//添加节点
public int AddElement(String filename, Number_class num) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(filename);
Element root = document.getRootElement();
Element number = root.addElement("Number");
Element id = number.addElement("Id");//期
id.setText(num.getId());
Element redone = number.addElement("Redone");//第一个
redone.setText(num.getRedone());
Element redtwo = number.addElement("Redtwo");//第二个
redtwo.setText(num.getRedtwo());
Element redthree = number.addElement("Redthree");//第三个
redthree.setText(num.getRedthree());
Element redfour = number.addElement("Redfour");//第四个
redfour.setText(num.getRedfour());
Element redfive = number.addElement("Redfive");//第五个
redfive.setText(num.getRedfive());
Element redsix = number.addElement("Redsix");//第六个
redsix.setText(num.getRedsix());
Element blue = number.addElement("Blue");//第七个
blue.setText(num.getBlue());
XMLWriter writer = new XMLWriter(new FileWriter(filename));
writer.write(document);
writer.close();
returnValue = 1;
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return returnValue;
}
}
//查找所有节点
public List<Number_class> ReadXML(String filename) {
List list = new ArrayList<Number_class>();
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(filename);
Element root = document.getRootElement();
for (Iterator i = root.elementIterator("Number"); i.hasNext();) {
Element element = (Element) i.next();
Number_class num = new Number_class();
num.setId(element.elementText("Id"));
num.setRedone(element.elementText("Redone"));
num.setRedtwo(element.elementText("Redtwo"));
num.setRedthree(element.elementText("Redthree"));
num.setRedfour(element.elementText("Redfour"));
num.setRedfive(element.elementText("Redfive"));
num.setRedsix(element.elementText("Redsix"));
num.setBlue(element.elementText("Blue"));
list.add(num);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return list;
}
}
//查找单个节点
public Number_class ReadE(String filename, String str) {
Number_class num = new Number_class();
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(filename);
Element root = document.getRootElement();
for (Iterator i = root.elementIterator("Number"); i.hasNext();) {
Element element = (Element) i.next();
if (element.elementText("Id").equals(str)) {
num.setId(element.elementText("Id"));
num.setRedone(element.elementText("Redone"));
num.setRedtwo(element.elementText("Redtwo"));
num.setRedthree(element.elementText("Redthree"));
num.setRedfour(element.elementText("Redfour"));
num.setRedfive(element.elementText("Redfive"));
num.setRedsix(element.elementText("Redsix"));
num.setBlue(element.elementText("Blue"));
break;
}
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return num;
}
}
//修改节点
public int EditE(String filename,Number_class num) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(filename);
Element root = document.getRootElement();
for (Iterator i = root.elementIterator("Number"); i.hasNext();) {
Element element = (Element) i.next();
if (element.elementText("Id").equals(num.getId())) {
element.element("Redone").setText(num.getRedone());
element.element("Redtwo").setText(num.getRedtwo());
element.element("Redthree").setText(num.getRedthree());
element.element("Redfour").setText(num.getRedfour());
element.element("Redfive").setText(num.getRedfive());
element.element("Redsix").setText(num.getRedsix());
element.element("Blue").setText(num.getBlue());
XMLWriter writer = new XMLWriter(new FileWriter(filename));
writer.write(document);
writer.close();
returnValue = 1;
break;
}
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return returnValue;
}
}
//删除节点
public int DeleteE(String filename,String str) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(filename);
Element root = document.getRootElement();
for (Iterator i = root.elementIterator("Number"); i.hasNext();) {
Element element = (Element) i.next();
if (element.elementText("Id").equals(str)) {
root.remove(element);
XMLWriter writer = new XMLWriter(new FileWriter(filename));
writer.write(document);
writer.close();
returnValue = 1;
break;
}
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
return returnValue;
}
}
//格式化XML文件
public int FormatXML(String filename) {
int returnValue = 0;
try {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(filename));
XMLWriter writer = null;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
writer = new XMLWriter(new FileWriter(new File(filename)), format);
writer.write(document);
writer.close();
returnValue = 1;
} catch (Exception ex) {
ex.printStackTrace();
}
return returnValue;
}
}
Java操作XML
最新推荐文章于 2024-10-01 09:29:45 发布