XML解析--DOM解析操作

前端之家收集整理的这篇文章主要介绍了XML解析--DOM解析操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。

基本的解析方式有两种,一种叫SAX,另一种叫DOM。

DOM是基于XML文档树结构的解析,SAX是基于事件流的解析。

DOM解析的有点在与不仅可以读取文件,本身也可以生成修改XML文件

今天来看一下DOM的解析操作:

比如有这样一个XML文件

<?xml version="1.0" encoding="gb2312"?>
<addresslist>
	<linkman>
		<name>小明</name>
		<email>sdfa@126.com</email>
	</linkman>
	<linkman>
		<name>王帅</name>
		<email>mlda@163.com</email>
	</linkman>
</addresslist>

下面用DOM进行解析操作:


@H_301_87@package org.lxh.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; public class DOM { /** * @param args * @throws ParserConfigurationException * @throws IOException * @throws SAXException */ public static void main(String[] args) throws ParserConfigurationException,SAXException,IOException { //建立DocumentBuilderFactory,用于取得DocumentBuilder DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); //通过DocumentBuilderFactory取得DocumentBuilder DocumentBuilder builder=null; builder=factory.newDocumentBuilder(); //定义Document的接口对象,通过对DocumentBuilder类进行DOM树的转换操作 Document doc=null; //读取指定路径的XML文件 doc=(Document) builder.parse("F:"+File.separator+"test.xml"); //查找linkman节点 NodeList nl=((org.w3c.dom.Document) doc).getElementsByTagName("linkman"); //读取第一个节点的内容 for(int x=0;x<nl.getLength();x++){ //循环输出每一个节点 Element m=(Element) nl.item(x); System.out.println("姓名:+"m.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()); System.out.println("邮箱:+"m.getElementsByTagName("email").item(0).getFirstChild().getNodeValue()); } } }

输出结果是:

原文链接:https://www.f2er.com/xml/298742.html

猜你在找的XML相关文章