Dom解析xml文件
来源:互联网 发布:unity3d脚本教程基础 编辑:程序博客网 时间:2024/06/07 21:52
Dom解析xml的步骤:
(1)创建一个DocumentBuilderFactory对象(用DocumentBuilderFactory.newInstance()创建)
(2)利用DocumentBuilderFactory对象创建DocumentBuilder对象
(3)利用DocumentBuilder对象创建Document对象
(4)解析xml文件
1.Java 代码:
package com.jxufe.read;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.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;/** * 对xml的 读取 * * @author cd * */public class XMLDOMRead {public static void main(String[] args) {// 创建一个DocumentBuilderFactory对象DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();// 创建DocumentBuilder对象DocumentBuilder builder;try {builder = factory.newDocumentBuilder();// 通过DocumentBuilder对象加载book.xml文件,并创建Document对象Document document = builder.parse("E:/code/xmlreadAndWriter/person.xml");NodeList nodeList = document.getElementsByTagName("person");// 判断是否存在“book1”这样的节点,有就执行下一步奏。treverseNode(nodeList);} catch (Exception e) {throw new RuntimeException("DOM解析xml文件失败", e);}}private static void treverseNode(NodeList nodeList) {if (nodeList == null)return;for (int i = 0; i < nodeList.getLength(); i++) {Node node = nodeList.item(i);/* * 获取节点为“book1”的属性值 */NamedNodeMap attributes = node.getAttributes();for (int j = 0; j < attributes.getLength(); j++) {System.out.println(attributes.item(j).getNodeName() + ":" + attributes.item(j).getNodeValue());}/** * 获取节点为“book1”的子节点信息 */NodeList childNodes = node.getChildNodes();if (childNodes != null) {for (int j = 0; j < childNodes.getLength(); j++) {if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE)System.out.println(// 不能用getNodeValue()方法获取节点的文本,也可以通过getTextcontent获取。childNodes.item(j).getNodeName() + ":"+ childNodes.item(j).getFirstChild().getNodeValue());}}}}}2.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?><world> <person id="1"> <name>张三</name> <gender>女</gender> <age>24</age> </person> <person id="2"> <name>张三</name> <gender>女</gender> <age>24</age> </person></world>
0 0
- DOM解析XML文件
- xml文件解析-DOM
- dom解析xml文件
- DOM解析XML文件
- dom解析xml文件
- Dom解析XML文件
- DOM解析XML文件
- Dom 解析XML文件
- DOM解析XML文件
- DOM解析XML文件
- DOM解析XML文件
- DOM 解析XML文件
- DOM解析xml文件
- DOM解析xml文件
- DOM解析XML文件
- Dom解析xml文件
- DOM解析XMl文件
- dom解析XML文件
- Hive Create/Drop/Bucketed Table
- session和cookie的二者详细的区别
- 【BZOJ1283】序列【最大费用最大流】
- Android开发内存泄露之--Handler引起的内存泄露
- java类初始化顺序-阿里笔试题
- Dom解析xml文件
- C# WPF中DataGrid的数据绑定(Binding)
- 二、Builder设计模式
- C++程序员面试总结
- BJFU ACM Online Judge 1549
- Oracle与SQL Server数据库的异同
- java路径改不过来的原因和解决办法
- 从玩摄影到学易语言再到PHP,我大学这几年的经历
- android系统调式步骤