XML的诞生原本是用来对数据进行更好更快的存储。XML的雏形用于航空工业,到后来慢慢进行简化,形成了我们现在常用的形式,由于XML能够很好的表现数据的层次结构(在java中,一般集合也就能表现出一种平面结构),在以前很多人都认为xml会成为一种卓越的语言,甚至提到Java等编程语言。后来证明:XML不仅没有取代java,反而成为java很好的帮手。闲话不扯了。进入正题。。。
XML是用来保存数据的,对于数据的操作,就是增删改查。
public static Document getDocument() throws Exception
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File("src/student.xml"));
return document;
}public void add()
{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File("src/book.xml"));
Element e=document.createElement("售价");
e.setTextContent("59.00");
Node book=document.getElementsByTagName("书").item(0);
book.appendChild(e);
TransformerFactory f= TransformerFactory.newInstance();
Transformer transfomer=f.newTransformer();
transfomer.transform(new DOMSource(document), new StreamResult(new File("src/book.xml")));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}<?xml version="1.0" encoding="utf-8" standalone="no"?><书架> <书 name="yyyy"> <售价>109</售价> <售价>50</售价><书名>Java就业培训教程</书名> <作者>ligang</作者> <售价>59.00</售价> </书> </书架>
public void add2()
{
DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File("src/book.xml"));
Element e=document.createElement("售价");
e.setTextContent("50");
Node node=document.getElementsByTagName("书").item(0);
node.insertBefore(e, document.getElementsByTagName("书名").item(0));
TransformerFactory f= TransformerFactory.newInstance();
Transformer t=f.newTransformer();
t.transform(new DOMSource(document),new StreamResult(new File("src/book.xml")));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}public static Student findStudentFormName(String name) {
Student s =new Student();
try {
Document document =Dao.getDocument();
NodeList node1=document.getElementsByTagName("姓名");
for(int i=0;i<node1.getLength();i++)
{
if(node1.item(i).getTextContent().equals(name))
{
Node student=node1.item(i).getParentNode();
if(student.getNodeType()==Node.ELEMENT_NODE)
{
NodeList list=student.getChildNodes();
s.setName(name);
for(int j=0;j<list.getLength();j++)
{
Node n = list.item(j);
String context = n.getTextContent();
if(n.getNodeName().equals("学号"))
{
s.setId(Integer.valueOf(context));
}else if(n.getNodeName().equals("性别"))
{
s.setSex(context);
}else if(n.getNodeName().equals("操作系统"))
{
s.setGradeOS(Double.valueOf(context));
}else if(n.getNodeName().equals("c语言"))
{
s.setGradeC(Double.valueOf(context));
}
}
}
}
}
}catch(Exception e)
{
e.printStackTrace();
}
return s;
}xml文件是:<?xml version="1.0" encoding="UTF-8" standalone="no"?><信息> <学生><c语言>78.0</c语言><操作系统>89.0</操作系统><性别>男</性别><姓名>袁阳</姓名><学号>123456</学号></学生></信息>对应的JavaBean可以自己写。
JavaWeb(四)-----用Java程序操作XML①,布布扣,bubuko.com
原文:http://blog.csdn.net/yuan514168845/article/details/20368319