废话就不说了,先写一个简单的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;
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) {//避免复杂,详细例外省略}
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,如需转载请自行联系原作者