首先如何进行xml解析:
//使用Dom解析的方式解析xml文件中的数据 通过文档对象进行操作
//创建文档构建工厂对象(建筑公司)
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
//创建文档构建对象(建筑小分队)
DocumentBuilder builder=builderFactory.newDocumentBuilder();
//解析一个xml文件
Document doc=builder.parse(new FileInputStream(“student.xml”));
//在doc中读取xml文件中的数据
//通过标签名称读取所有该名称的节点集合
NodeList nodeList=doc.getElementsByTagName(“student”);
//遍历集合
for (int i = 0; i < nodeList.getLength(); i++) {
//遍历集合对象获取每一个节点元素
Element element=(Element) nodeList.item(i);
//获取节点中的属性
String id=element.getAttribute(“id”);
System.out.println(id);
//获取student中的子节点name
NodeList names=element.getElementsByTagName("name");
Element name=(Element) names.item(0);
//获取节点中的文本内容
String text=name.getTextContent();
System.out.println(text);
如何进行xml的写入
//创建一个xml文件将数据写入到文件中
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
//获取文档构建对象
DocumentBuilder builder=builderFactory.newDocumentBuilder();
//创建一个文档对象(内存中的)
Document doc=builder.newDocument();
//创建根节点
Element root=doc.createElement(“teachers”);
//在根节点中创建子节点
Element teacher=doc.createElement("teacher");
teacher.setAttribute("tid", "1");
teacher.setAttribute("sname", "abc");
//将子节点追加到根节点中
root.appendChild(teacher);
//创建一个teacher子节点
Element name=doc.createElement("name");
//给name节点设置文本内容
name.setTextContent("赵本山");
//将name追加到teacher中
teacher.appendChild(name);
//添加age节点
Element age=doc.createElement("age");
age.setTextContent("20");
//将age节点添加到teacher中
teacher.appendChild(age);
//将根节点追加到文档对象中
doc.appendChild(root);
//拆分对象工厂(拆迁工厂)
TransformerFactory tsf=TransformerFactory.newInstance();
//创建拆分对象(拆迁小分队)
Transformer ts=tsf.newTransformer();
//创建保存数据的文件(字节流的结果对象)
StreamResult sr=new StreamResult(new File("teacher.xml"));
//将Document对象转换成成文档资源
DOMSource ds=new DOMSource(doc);
//开始拆分
ts.transform(ds, sr);