Java中使用DOM解析XML

来源:互联网 发布:日久军警装备淘宝店 编辑:程序博客网 时间:2024/04/29 18:24

在Java中使用DOM解析XML文件,并添加信息





 一、创建DOM解析器工厂实例:  DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();  二、创建DOM解析器实例:  DocumentBuilder builder=factory.newDocumentBuilder();  三、 解析的XML文件  获得DOM树:  Document doc=builder.parse("src/student.xml");  四、获得根元素  Element root=doc.getDocumentElement();  五、获得根元素的子节点集合(所有的student)  NodeList student=root.getChildNodes();  六、使用循环遍历for(int i=0;i<student.getLength();i++){  七、在循环中获得每个子节点  由于在xml文件中的内容有格式化效果会出现“空白字符”问题,也就是说在根元素students和第一个student元素之间会出现空白字符,若我们只需要获得Element(元素节点)则我们需要判断下:  if(student.item(i) instanceof Element){  Element stu=(Element)student.item(i);  八、 获得sid属性的值  获得student节点中的属性:  System.out.println("学号:"+stu.getAttribute("sid"));  九、接下来,我们就要遍历student节点的name、sex、age节点的文本了。  首先要获得student节点的子节点集合:  NodeList childred=stu.getChildNodes();  十、使用for循环遍历子节点集合:  for(int j=0;j<childred.getLength();j++){  十一、 获得元素的文本  if(childred.item(j) instanceof Element){  获得文本内容  Element child=(Element)childred.item(j);  System.out.print(child.getTextContent()+" ");  }  接下来我们实现下在DOM树中添加一个student并设置属性,添加name、sex、age  一、首先获得根元素:  Element root=doc.getDocumentElement();  二、使用Document的实例创建元素节点student  Element newEl=doc.createElement("student");  三、添加属性  newEl.setAttribute("sid", "jt00403");  四、使用相同的方式创建name、sex、age节点  Element name=doc.createElement("name");  name.setTextContent("路飞");  Element sex=doc.createElement("sex");  sex.setTextContent("男");  Element age=doc.createElement("age");  age.setTextContent("17");  五、使用父节点添加字节点:  newEl为name、sex、age的父节点,所以使用newEl节点的appendChild()方法添加。  newEl.appendChild(name);  newEl.appendChild(sex);  newEl.appendChild(age);  然后使用根元素节点root将newEl添加到DOM树上  root.appendChild(newEl);

0 0
原创粉丝点击