zoukankan      html  css  js  c++  java
  • Java 操作XML,JDOM&DOM4J

      JDOM 引入

    JDOM 是一种使用XML(标准通用标记语言下的一个子集) 的独特Java 工具包,用于快速开发XML 应用
    程序。
    JDOM 官方网站:http://www.jdom.org/

      DOM4J 引入

    dom4j 是一个Java 的XML API,类似于jdom,用来读写XML 文件的。dom4j 是一个非常非常优秀的JavaXML
    API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge
    上找到它。在IBM developerWorks 上面可以找到一篇文章,对主流的Java XML API 进行的性能、功能和易用性
    的评测,dom4j 无论在哪个方面都是非常出色的。如今你可以看到越来越多的Java 软件都在使用dom4j 来读写
    XML,特别值得一提的是连Sun 的JAXM 也在用dom4j。这是必须使用的jar 包, Hibernate 用它来读写配置文
    件。
    DOM4J 官方网站:http://www.dom4j.org/

      

    package com.zhiqi.test;
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    
    public class DOM4JSet {
    	
    	public static void main(String[] args) {
    		Document document=DocumentHelper.createDocument();
    		Element studentElement=document.addElement("student");
    		studentElement.addAttribute("id", "001");
    		studentElement.addAttribute("aa", "xx");
    		
    		Element name=studentElement.addElement("name");
    		name.setText("张三");
    		Element sex=studentElement.addElement("sex");
    		sex.setText("男");
    		Element age=studentElement.addElement("age");
    		age.setText("20");
    		
    		OutputFormat format=OutputFormat.createPrettyPrint();
    		format.setEncoding("UTF-8");
    		try {
    			XMLWriter writer=new XMLWriter(new FileOutputStream("src/student.xml"),format);
    			writer.write(document);
    			writer.close();
    		} catch (UnsupportedEncodingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    

      解析DOM

    <?xml version="1.0" encoding="UTF-8"?>
    <emps>
    <emp empNo="10050">
    	<empName>Allen</empName>
    	<job>办事员</job>
    	<addr>波士顿</addr>
    </emp>
    <emp empNo="10060">
    	<empName>Smith</empName>
    	<job>销售员</job>
    	<addr>纽约</addr>
    </emp>
    <emp empNo="10070">
    	<empName>James</empName>
    	<job>技术员</job>
    	<addr>北京</addr>
    </emp>
    </emps>
    

      

    package com.zhiqi.test;
    
    import java.util.Iterator;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class DOM4JGet {
    	public static void main(String[] args) throws Exception{
    		SAXReader saxReader=new SAXReader();
    		Document document=saxReader.read("src/emp.xml");
    		Element rootElement=document.getRootElement();
    		Iterator iter=rootElement.elementIterator();
    		while(iter.hasNext()){
    			Element empElement=(Element)iter.next();
    			System.out.println("编号:"+empElement.attributeValue("empNo"));
    			System.out.println("姓名:"+empElement.elementText("empName"));
    			System.out.println("职位:"+empElement.elementText("job"));
    			System.out.println("地址:"+empElement.elementText("addr"));
    			System.out.println("=========");
    		}
    	}
    }
    

      

  • 相关阅读:
    C#应用程序中的输入法
    201871010128杨丽霞《面向对象程序设计(java)》第六七周学习总结
    201871010128杨丽霞《面向对象程序设计(java)》第一周学习总结
    201871010128杨丽霞《面向对象程序设计(java)》第二周学习总结
    201871010128杨丽霞《面向对象程序设计(java)》第四周学习总结
    201871010128杨丽霞《面向对象程序设计(java)》第七周学习总
    201871010128杨丽霞《面向对象程序设计(java)》第十周学习总结
    201871010128杨丽霞《面向对象程序设计(Java)》第十一周学习总结
    201871010128杨丽霞《面向对象程序设计(java)》第八周学习总结
    201871010128杨丽霞《面向对象程序设计(Java)》第十二周学习总结
  • 原文地址:https://www.cnblogs.com/void-m/p/6351818.html
Copyright © 2011-2022 走看看