加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xmlDOM解析示例

发布时间:2020-12-16 05:22:24 所属栏目:百科 来源:网络整理
导读:XML XML 即可拓展标记语言。他是一种简单的数据存储语言,使用一系列简单的标签描述数据,这些标签可以用方便的方式建立。 如 pet.xml 示例: ?xml version="1.0" encoding="UTF-8"?petdog id="1"name小黑/nameage3/ageweight100/weight/dogdog id="2"name小

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读