普通解析XML

普通解析XML
//去处理一个关于学生的信息的xml文件
package com.tsinghua;


import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ReadMjyXml {

  
   
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  try {
  
  //解析器工厂类,为创建一个解析器作准备)
   DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
   //创建一个dom解析器
   //他实现了解析和处理xml文件需要的全部dom方法  
   DocumentBuilder db=dbf.newDocumentBuilder();
   
   //告诉解析器去解析哪个xml文件
   Document dm=db.parse("./mjy.xml");
   
   //如果把整个xml看作一个公司,那么NodeList就好像是一个部门
   NodeList nl=dm.getElementsByTagName("state");
   
   System.out.println("the length="+nl.getLength());
   
   for(int i=0;i<nl.getLength();i++){
    
    
   //element就像是部门中的一个职员
   Element ele=(Element) nl.item(i);
   
   
   //也可以遍历得到所有属性和它们的值
   //就像该职员的相关属性
   NamedNodeMap nnm=ele.getAttributes();
   
    for(int j=0;j<nnm.getLength();j++){
     Node node3=nnm.item(j);
     System.out.println("名称为:"+node3.getNodeName());
     System.out.println("值为:"+node3.getNodeValue());
     
    }
   }
   
   
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }
  

 }

}

XML:
<?xml version="1.0" encoding="gb2312"?>
<states>
<state name='mjy1' value='mjy2'/>
</states>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值