Dom4j解析XML学习之简单解析

来源:互联网 发布:王国保卫战2 mac 编辑:程序博客网 时间:2024/04/29 22:45

准备工作:

1.  下载 Dom4j.jar

2.  下载 mysql-connector-java-5.1.18-bin.jar


XML文件:MySql.xml

<?xml version="1.0"encoding="UTF-8"?> <DataSource> <!--数据库信息-->  <database name="mysql" version="14">   <driver>com.mysql.jdbc.Driver</driver>    <url>jdbc:mysql://127.0.0.1/thdb</url>    <user>root</user>    <password>root</password> </database></DataSource>



简单的解析:Dom4jHandler.java

import java.util.List;//import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Dom4jHandler {public void readXML(String fileName) throws DocumentException {//获得SAX解析器SAXReader saxReader = new SAXReader();//Document 接口表示整个HTML 或者XML文档,从概念上讲,它是文档树的根,并提供对文档数据的基本访问Document document = saxReader.read(this.getClass().getResourceAsStream("/" + fileName));/*** 至此整个 XML 文档已经读到内存 ***//*** 访问根节点 ***/Element root = document.getRootElement();System.out.println("根节点 : " + root.getName());//返回元素的所有子节点@SuppressWarnings("unchecked")//未知子节点名称List<Element> childElements = root.elements();//已知子节点//List<Element> childElements = root.elements("database"); //参数为子节点名for(Element child : childElements){//获取属性:不知道属性名称时的用法//@SuppressWarnings("unchecked")//List<Attribute> attributes = child.attributes();//for(Attribute attribute : attributes){//System.out.println(attribute.getName() + ":" + attribute.getValue());   //获取属性,已知属性情况String name = child.attributeValue("name");String version = child.attributeValue("version");System.out.println(name + " " + version + " ");//获取子节点@SuppressWarnings("unchecked")List<Element> childs = child.elements();for(Element temp : childs){System.out.println(temp.getName() + " " + temp.getText());} }}public static void main(String[] args) throws DocumentException{/* * 说明:一般只填文件名,根据文件的路径配置不同,可能会提示找不到文件  * 或者抛出 NullPointerException异常,添加包名或者添加修改路径即可 */new Dom4jHandler().readXML("dom4j_xml/mysql.xml");  }}




原创粉丝点击