Java中使用DOM解析XML

在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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值