xmlDOM解析示例

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

XML

XML即可拓展标记语言。他是一种简单的数据存储语言,使用一系列简单的标签描述数据,这些标签可以用方便的方式建立。

pet.xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<pet>
<dog id="1">
<name>小黑</name>
<age>3</age>
<weight>100</weight>
</dog>
<dog id="2">
<name>小白</name>
<age>2</age>
<weight>80</weight>
</dog>
</pet>

DOM解析XML

DOMDocumentObjectModel的缩写,即文档对象模型。XML将数据组织为一棵树,所以DOM就是对这棵树的一个对象的描述。通俗的说,就是通过解析XML文档,为XML文档在逻辑上建立一个树模型,树的节点是一个个对象,我们通过存取这些对象就能够存取XML文档的内容

见图:

DOM解析代码

package Talking;
import java.io.IOException;
import java.io.ObjectInputStream.GetField;
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 TestPetXml {
public static void main(String[] args){
//从DOM工厂获得DOM解析器
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
//从DOM工厂获得DOM解析器
DocumentBuilder db = dbf.newDocumentBuilder();
//解析XML文档,得到一个Document,即DOM树
Document doc = db.parse("f:/pet.xml");
//得到pet所有节点列表信息
NodeList perList = doc.getElementsByTagName("dog");
//轮循书本信息
System.out.println("XML文件中pet的初始化信息");
for(int i = 0;i<perList.getLength();i++){
//得到pet元素
Element dog = (Element) perList.item(i);
//得到dog元素下的id属性的值
String strId = dog.getAttributeNode("id").getNodeValue();
//得到dog元素下的name属性
String strName = dog.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
//得到dog元素下的age属性
String niAge = dog.getElementsByTagName("age").item(0).getFirstChild().getNodeValue();
//得到dog元素下的weight属性
String weight = dog.getElementsByTagName("weight").item(0).getFirstChild().getNodeValue();
System.out.println("id:"+strId+",name:"+strName+",age:"+niAge+",weight:"+weight);
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
}
}

输出结果:

XML文件pet的初始化信息

id:1,name:小黑,age:3,weight:100

id:2,name:小白,age:2,weight:80

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

猜你在找的XML相关文章