xml文档的特点:
xml与操作系统,编程语言的开发平台无关。
实现不同系统之间的数据交换
作用:
数据交互
配置应用程序和网站
xml文件编写时的注意事项
所有XML元素都必须有结束标签
XML标签对大小写敏感
XML必须正确的嵌套
同级标签以缩进对齐
元素名称可以包含字母、数字或其他的字符
元素名称不能以数字或者标点符号开始
元素名称中不能含空格
下面主要来介绍如何来解析xml文件
举个例子编写一个系统
public void reader()throws Exception{//查询
SAXReader reader=new SAXReader();//dom4j 获取saxReader
Document doc=reader.read("src/Student.xml");// 获取document
Element root=doc.getRootElement();//获取根
List<Element> user=root.elements("user");//指定元素
for (Element users : user) {//遍历元素
String id=users.attributeValue("id");
String name=users.elementText("name");
String yscore=users.elementText("yscore");
String sscore=users.elementText("sscore");
System.out.println(id+"\t"+name+"\t"+yscore+"\t"+sscore);//打印输出
}
}
public void add()throws Exception{//添加
SAXReader reader=new SAXReader();
Document dom=reader.read("src/Student.xml");
Element root=dom.getRootElement();
/* Element user=root.element("user");*/
Element newuser=root.addElement("user");
newuser.addAttribute("id","3");//添加新属性
newuser.addElement("name").setText("张三");//添加新元素并赋值
newuser.addElement("yscore").setText("99");
newuser.addElement("sscore").setText("100");
OutputFormat opf=OutputFormat.createCompactFormat();//对象输出流写入
opf.setEncoding("UTF-8");//字符编码
XMLWriter writer=new XMLWriter(new FileWriter("src/Student.xml"),opf);//文件流写入
writer.write(dom);
writer.close();//关闭流
}
public void delete(String id) throws Exception{//删除
SAXReader reader=new SAXReader();
Document dom=reader.read("src/Student.xml");
Element root=dom.getRootElement();
List<Element> user=root.elements("user");
for (Element users : user) {//循环遍历
String xmld=users.attributeValue("id");//获取属性
if (xmld.equals(id)){//判断
users.getParent().remove(users);
break;
}
}
OutputFormat opf=OutputFormat.createCompactFormat();
opf.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(new FileWriter("src/Student.xml"),opf);
writer.write(dom);
writer.close();
}
public void Update(String id) throws Exception{//修改
SAXReader reader=new SAXReader();
Document doc=reader.read("src/Student.xml");
Element root=doc.getRootElement();
List<Element> users=root.elements("user");
for (Element user : users) {//循环遍历
String xmlid=user.attributeValue("id");//获取属性
if (xmlid.equals(id)){//判断
user.element("name").setText("小明");
user.element("yscore").setText("100");
user.element("sscore").setText("90");
break;
}
}
OutputFormat opf= OutputFormat.createCompactFormat();
opf.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(new FileWriter("src/Student.xml"));//文件流写入
writer.write(doc);//写入
writer.close();//关闭流