前端之家收集整理的这篇文章主要介绍了
xml解析1:java dom xml解析模板及原理,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package ytu.botao.xml.dom;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
*
* @author botao
*
*/
public class DomTest {
/**
* @param args
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
*/
public static void main(String[] args) throws ParserConfigurationException,SAXException,IOException {
// TODO Auto-generated method stub
//step 1:获得dom解析器工厂(工厂的作用时用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
//step 3:解析一个xml文档,获得Document对象(根节点)
Document document = db.parse(new File("candidate.xml"));
//以上三步为固定模式
NodeList list=document.getElementsByTagName("PERSON");
for (int i = 0; i < list.getLength(); i++) {
Element element=(Element)list.item(i);
String content=element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println("name:" + content);
content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
System.out.println("address:" + content);
content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
System.out.println("tel:" + content);
content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
System.out.println("fax:" + content);
content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
System.out.println("email:" + content);
System.out.println("--------------------------------------");
}
}
}