首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
应用DOM方式解析XML
时间:
2015-02-28 23:04:20
阅读:
137
评论:
0
收藏:
0
[点我收藏+]
标签:
package domTest;
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.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class DomTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建一个DocumentBuilderFactory的对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
//创建一个DocumentBuilder对象
DocumentBuilder db = dbf.newDocumentBuilder();
//通过DocumentBuilder对象的parse(String fileName)方法解析XML文件
//利用parse()方法,加载books.xml文件到当前项目下
Document document= db.parse("books.xml");
//获取所有books节点的集合
NodeList booklist = document.getElementsByTagName("book");
//通过booklist的getlength方法,获取booklist方法
System.out.println("一共有 " + booklist.getLength() + "本书!");
//便利每一个book节点
for(int i = 0; i < booklist.getLength(); i++){
System.out.println("=====================开始遍历第" + (i + 1) + "本书的内容=============================");
//通过item(i)方法获取一个book节点,nodelist的索引值从零开始
Node book= booklist.item(i);
//获取book节点所有属性的集合
NamedNodeMap att = book.getAttributes();
System.out.println("第" + (i + 1) + "本书共有" + att.getLength() + "个属性!");
//遍历book的属性
for(int j = 0; j < att.getLength(); j++){
//通过att的item的方法,获取book节点的某一个属性
Node attr= att.item(j);
//获取属性名
System.out.print("属性名: " + attr.getNodeName());
//获取属性值
System.out.println("---属性值: " + attr.getNodeValue());
}
//解析book节点的子节点
NodeList childNodes = book.getChildNodes();
//遍历childNodes获取的每个节点名和节点值
System.out.println("第 "+(i + 1)+ "本书有: " + childNodes.getLength() + "子节点");
for(int k = 0; k < childNodes.getLength(); k++){
if(childNodes.item(k).getNodeType() == Node.ELEMENT_NODE){
//获取element类型节点的节点名
System.out.print("第" + (k + 1) +"个节点的节点名是: "+childNodes.item(k).getNodeName());
//获取element类型节点的值
System.out.println(" --节点值是: " + childNodes.item(k).getTextContent());
//或者使用System.out.println(" --节点值是: " + childNodes.item(k).getFirstChild().getNodeValue());
}
}
System.out.println("=====================结束遍历第" + (i + 1) + "本书的内容=============================");
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
应用DOM方式解析XML
标签:
原文地址:http://blog.csdn.net/u012965373/article/details/43991613
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!