且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

java中用jaxp解析xml

更新时间:2022-09-02 11:24:28

废话就不说了,先写一个简单的xml.取名为test.xml(正式xml文件要遵循xml命名规范)
<?xml version="1.0"?>
<students>
   <student>
      <id>001</id>
      <name>xhinker</name>
   </student>
   <student>
      <id>002</id>
      <name>thinker</name>
   </student>
</students>
 
接下来在同一个文件夹下写解析这个xml的java文件 XMLReader.java
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
public class XMLReader{
   public static void main(String[] args){//为简单起见直接写到main里面
      DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
                                                         //建立解析工厂对象
      try {
            DocumentBuilder db=dbf.newDocumentBuilder();//创建解析者
            File file=new File("test.xml");
            Document doc=db.parse(file);//解析xml文件
            NodeList nl=doc.getElementsByTagName("customer");
            int len=nl.getLength();//取得nodelist的长度
            for(int i=0;i<len;i++){
                Element customer=(Element)nl.item(i);
                Node id=customer.getElementsByTagName("id").item(0);
                Node name=customer.getElementsByTagName("name").item(0);
                String newid=id.getFirstChild().getNodeValue();
                String newname=name.getFirstChild().getNodeValue();
                System.out.print("id号:");
                System.out.println(newid);
                System.out.print("名字:");
                System.out.println(newname);
            }
      } catch (Exception e) {//避免复杂,详细例外省略}
   }
}
最后结果为
id号:001
名字:xhinker
id号:002
名字:thinker



本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/133072,如需转载请自行联系原作者