public class JdomTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//create();
//readXml();
//updataXml();
//addXml();
}
public static void create(){
// 1 创建文档
Document docu = new Document();
//创建 根目录
Element root = new Element("root");
//创建子元素
Element student = new Element("student");
//子对象元素
Element uId= new Element("uId");
Element uSex= new Element("uSex");
Element uName= new Element("uName");
Element uAge= new Element("uAge");
Element uAddress= new Element("uAddress");
Element uPhone= new Element("uPhone");
//设置 层级关系
root.addContent(student);
student.addContent(uId);
student.addContent(uSex);
student.addContent(uName);
student.addContent(uAge);
student.addContent(uAddress);
student.addContent(uPhone);
//设置值
student.setAttribute("sNo", "NO10028585566");
uId.setText("1001");
uSex.setText("女");
uName.setText("刘亦菲");
uAge.setText("35");
uAddress.setText("北京");
uPhone.setText("1356898441");
//存入入 document对象
docu.addContent(root);
//设置格式
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
//........
//将docu写入 xml文档
XMLOutputter xo = new XMLOutputter(format);
//响应文件
try {
xo.output(docu, new FileOutputStream(new File("D://sutInfo.xml")));
System.out.println("操作成功!!");
} catch (Exception e) {
e.printStackTrace();
System.out.println("操作失败!!");
}
//响应给 请求
}
//读取解析xml文件
public static void readXml() throws Exception{
SAXBuilder sb = new SAXBuilder();
Document docu = sb.build(new FileInputStream(new File("D://sutInfo.xml")));
Element root=docu.getRootElement(); //获取根元素HD
List<Element> stu =root.getChildren("student");//取名字为disk的所有元素
for (Element element : stu) {
String uId = element.getChild("uId").getText();
String uSex = element.getChild("uSex").getText();
String uName = element.getChild("uName").getText();
String uAge = element.getChild("uAge").getText();
String uAddress = element.getChild("uAddress").getText();
String uPhone = element.getChild("uPhone").getText();
System.out.println("读取解析xml===>"+uId+"---"+uSex+"---"+uName+"---"+uAge+"---"+uAddress+"---"+uPhone);
}
}
//修改xml文件对象
public static void updataXml() throws Exception{
SAXBuilder sb = new SAXBuilder();
Document docu = sb.build(new FileInputStream(new File("D://sutInfo.xml")));
Element root=docu.getRootElement(); //获取根元素HD
List<Element> stu =root.getChildren("student");//取名字为disk的所有元素
for (Element element : stu) {
String uId = element.getChild("uId").getText();
if(uId.equals("1001")){
element.getChild("uName").setText("花粥");
element.removeAttribute("sNo");
String uSex = element.getChild("uSex").getText();
String uName = element.getChild("uName").getText();
String uAge = element.getChild("uAge").getText();
String uAddress = element.getChild("uAddress").getText();
String uPhone = element.getChild("uPhone").getText();
System.out.println("修改后===>"+uId+"---"+uSex+"---"+uName+"---"+uAge+"---"+uAddress+"---"+uPhone);
}
}
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
//将docu写入 xml文档
XMLOutputter xo = new XMLOutputter(format);
//响应文件
try {
xo.output(docu, new FileOutputStream(new File("D://sutInfo.xml")));
System.out.println("修改成功!!");
} catch (Exception e) {
e.printStackTrace();
System.out.println("修改失败!!");
}
}
//添加xml文件对象
public static void addXml() throws Exception{
SAXBuilder sb = new SAXBuilder();
Document docu = sb.build(new FileInputStream(new File("D://sutInfo.xml")));
Element root=docu.getRootElement(); //获取根元素HD
Element student=new Element("student");
Element uId= new Element("uId");
Element uSex= new Element("uSex");
Element uName= new Element("uName");
Element uAge= new Element("uAge");
Element uAddress= new Element("uAddress");
Element uPhone= new Element("uPhone");
//设置 层级关系
root.addContent(student);
student.addContent(uId);
student.addContent(uSex);
student.addContent(uName);
student.addContent(uAge);
student.addContent(uAddress);
student.addContent(uPhone);
//设置值
uId.setText("1002");
uSex.setText("男");
uName.setText("李星云");
uAge.setText("21");
uAddress.setText("北京");
uPhone.setText("1356898441");
//设置格式
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setIndent(" ");
//将docu写入 xml文档
XMLOutputter xo = new XMLOutputter(format);
//响应文件
try {
xo.output(docu, new FileOutputStream(new File("D://sutInfo.xml")));
System.out.println("添加成功!!");
} catch (Exception e) {
e.printStackTrace();
System.out.println("添加失败!!");
}
}
}