DOM解析XML

来源:互联网 发布:电子杂志免费制作软件 编辑:程序博客网 时间:2024/05/19 14:02

首先附上自己的代码:

package com.wch.dom;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.junit.Test;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class DomJiexi {@Testpublic void test(){//创建解析XML的文档对象File xmlFile = new File("E:/Eclipse1/DomXml/src/com/wch/xml/NewFile.xml");//通过单例模式创建DocumentBuilderFactory对象DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();try {//通过DocumentBuilderFactory对象创建DocumentBuilder对象DocumentBuilder builder = builderFactory.newDocumentBuilder();//解析文件Document document = builder.parse(xmlFile);//获得根元素Element element = document.getDocumentElement();System.out.println("根元素:"+element.getNodeName());//获取根元素下的所有子节点NodeList nodeList =element.getChildNodes();//遍历这些节点for (int i = 0; i < nodeList.getLength(); i++) {Node node = nodeList.item(i);if("article".equals(node.getNodeName())){System.out.println("\r\n找到第一篇文章,所属分类:"+node.getAttributes().getNamedItem("category").getNodeValue());NodeList nodeDetail = node.getChildNodes();for (int j = 0; j < nodeDetail.getLength(); j++) {Node detail = nodeDetail.item(j);if("title".equals(detail.getNodeName())){System.out.println("标题:"+detail.getTextContent());}else if("author".equals(detail.getNodeName())){System.out.println("作者:"+detail.getTextContent());}}}}} catch (Exception e) {e.printStackTrace();}}}


 

输出效果是:

根元素:articles找到第一篇文章,所属分类:xml标题:XML 概述作者:janet找到第一篇文章,所属分类:java标题:Java书籍作者:XXX君


 

现在对DOM解析XML进行总结:

第一步:创建File对象,加载xml文件

第二步:创建DocumentBuilderFactory对象

第三步:创建DocumentBuilder对象

第四步:用Document解析XML

第五步:通过Document的各种方法进行XML的各项操作了。

原创粉丝点击