java解析XML实例
2015-03-19 10:10
405 查看
原文链接:http://blog.163.com/liucy_18/blog/static/53192906201062605514991/
Xmltest.java
1111.xml
控制台输出结果:
*****下面遍历XML元素*****
XML文件根节点的名字:test--test
属性名:att---属性值:tta
属性名:single---属性值:false
子节点名:className---子节点值:com.DBImpl
子节点名:methodName---子节点值:setHashMap
子节点名:methodArgsType---子节点值:java.util.HashMap
子节点名:driver---子节点值:com.mysql.jdbc.Driver
子节点名:url---子节点值:jdbc:mysql://localhost:3306/fengzi
子节点名:username---子节点值:root
子节点名:password---子节点值:root
子节点名:batchSize---子节点值:1000
属性名:dd---属性值:00000
属性名:dd---属性值:222
属性名:att---属性值:1
属性名:single---属性值:1
子节点名:className---子节点值:1
子节点名:methodName---子节点值:1
子节点名:methodArgsType---子节点值:j1
子节点名:driver---子节点值:1
子节点名:url---子节点值:1
子节点名:username---子节点值:1
子节点名:password---子节点值:1t
子节点名:batchSize---子节点值:1
Xmltest.java
import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Element; public class Xmltest { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub // 从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个Document // 创建解析工厂指定DocumentBuilder DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document document = db.parse(new File("F:\\1111.xml"));// 把文件解析成DOCUMENT类型 // Element root = document.getDocumentElement(); // 得到Document的根(节点名:book) // System.out.println("根节点标记名:" + root.getTagName()); System.out.println("*****下面遍历XML元素*****"); Element root = document.getDocumentElement(); String rootName = root.getNodeName(); System.out.println("XML文件根节点的名字:" + rootName); NodeList list = root.getElementsByTagName("dbstore");// 获得page元素 // NodeList // list=document.getElementsByTagName_r("dbstore");//获得page元素这个和上面一行效果一样 // System.out.println(list.getLength()); showElem(list); } public static void showElem(NodeList nl) { for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i);// 得到父节点 if (n.hasChildNodes()) { NamedNodeMap attributes = n.getAttributes(); // 遍历节点所有属性如<dbstore single="false" att="tta"> // System.out.println(attributes.getLength()); for (int j = 0; j < attributes.getLength(); j++) { Node attribute = attributes.item(j); // 得到属性名 String attributeName = attribute.getNodeName(); System.out.print("属性名:" + attributeName); // 得到属性值 String attributeValue = attribute.getNodeValue(); System.out.println("---属性值:" + attributeValue); }// 打印出结果属性名:att属性值:tta属性名:single属性值:false } // 子节点 NodeList childList = n.getChildNodes(); for (int x = 0; x < childList.getLength(); x++) { Node childNode = childList.item(x); // 判断取出的值是否属于Element元素,目的是过滤掉 if (childNode instanceof Element) { // 得到子节点的名字 String childNodeName = childNode.getNodeName(); System.out.print("子节点名:" + childNodeName); // 得到子节点的值 String childNodeValue = childNode.getTextContent(); System.out.println("---子节点值:" + childNodeValue); } } showElem(n.getChildNodes());// 递归 } } }
1111.xml
<?xml version="1.0" encoding="gb2312" ?> <test> <dbstore single="false" att="tta"> <className dd="00000">com.DBImpl</className> <methodName dd="222">setHashMap</methodName> <methodArgsType>java.util.HashMap</methodArgsType> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/fengzi</url> <username>root</username> <password>root</password> <batchSize>1000</batchSize> </dbstore> <dbstore single="1" att="1"> <className>1</className> <methodName>1</methodName> <methodArgsType>j1</methodArgsType> <driver>1</driver> <url>1</url> <username>1</username> <password>1t</password> <batchSize>1</batchSize> </dbstore> </test>
控制台输出结果:
*****下面遍历XML元素*****
XML文件根节点的名字:test--test
属性名:att---属性值:tta
属性名:single---属性值:false
子节点名:className---子节点值:com.DBImpl
子节点名:methodName---子节点值:setHashMap
子节点名:methodArgsType---子节点值:java.util.HashMap
子节点名:driver---子节点值:com.mysql.jdbc.Driver
子节点名:url---子节点值:jdbc:mysql://localhost:3306/fengzi
子节点名:username---子节点值:root
子节点名:password---子节点值:root
子节点名:batchSize---子节点值:1000
属性名:dd---属性值:00000
属性名:dd---属性值:222
属性名:att---属性值:1
属性名:single---属性值:1
子节点名:className---子节点值:1
子节点名:methodName---子节点值:1
子节点名:methodArgsType---子节点值:j1
子节点名:driver---子节点值:1
子节点名:url---子节点值:1
子节点名:username---子节点值:1
子节点名:password---子节点值:1t
子节点名:batchSize---子节点值:1
相关文章推荐
- 新手入门:Java XML编程实例解析
- Java操作XML编程实例解析
- JAVA解析XML简单实例
- java dom4j解析xml实例(2)
- JAVA DOM生成和解析XML实例
- 新手入门:Java XML编程实例解析
- java通过dom4j解析xml字符串的实例
- java dom4j 解析xml字符串的操作实例
- Java解析XML文档(简单实例)——dom解析xml
- java dom4j解析xml实例
- 初学者入门 JAVA 的 XML 编程实例解析-Java基础-Java-编程开发
- Java中用SAX解析XML完整实例代码
- [XML]在Java中用Document解析XML实例
- 使用dom4j实现java解析XML实例
- JAVA的XML编程实例解析
- 初学者入门 JAVA 的 XML 编程实例解析
- JAVA_xml解析 dom方法实例
- JAVA解析Xml实例
- Java XML解析工具 dom4j介绍及使用实例
- JAVA DOM生成和解析XML实例