`
xiaobian
  • 浏览: 588030 次
  • 来自: 北京
社区版块
存档分类
最新评论

JDOM 基本使用方式

阅读更多
package com.bian.jdom;

import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;

import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

public class Jdom {

    public Jdom() {
        super();
    }/*
    Attribute : org.jdom.Attribute
    Element : org.jdom.Element
    Comment : org.jdom.Comment
    Document: org.jdom.Document
    XMLOutputter: org.jdom.output.XMLOutputter
    SAXBuilder: org.jdom.input.SAXBuilder
    */
    
    public void CreateDocument(){
        //创建根元素
        Element eRoot = new Element("person");
        //为根元素创建属性
        eRoot.setAttribute(new Attribute("id", "13562986536525458954"));
        //为根元素添加注释内容
        eRoot.addContent(new Comment("A Person"));
        //创建根元素的子元素
        Element name = new Element("name");
        //为此元素创建内容
        name.addContent("xiaobian");
        //创建根元素的子元素
        Element sex = new Element("sex");
        sex.addContent("Male");
        //创建根元素的子元素
        Element year = new Element("year");
        year.addContent("1982");
        //创建根元素的子元素
        Element age = new Element("age");
        age.addContent("26");
       
        eRoot.addContent(name);
        eRoot.addContent(sex);
        eRoot.addContent(year);
        eRoot.addContent(age);
        for(int i=0;i<2600000;i++){
        	 //创建根元素的子元素
            Element height = new Element("height"+i);
           // height.setAttribute("state","China");
            height.addContent("178cm"+i);
        	eRoot.addContent(height);
        }
        Document d = new Document(eRoot);
        //定义输出 
        XMLOutputter outputter = new XMLOutputter();
        //输出流
        FileWriter writer = null;
        /* try {
             //输出到控制台
            outputter.output(d, System.out);
        } catch (java.io.IOException e) {
            e.printStackTrace();
        }*/
        
        try {
            //创建文件流
            writer = new FileWriter("c://test.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            //输出到Xml文件
            outputter.output(d, writer);
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            //关闭文件流
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(" "+Runtime.getRuntime().totalMemory()/1024/1024);
    }

    public static void ReadDocument()throws IOException,JDOMException{
    	SAXBuilder sb=new SAXBuilder(); 
         Document doc=sb.build("c:/test.xml"); //构造文档对象
         
         Element root=doc.getRootElement(); //获取根元素
         String rootName = root.getName();
         System.out.println("Type :"+rootName);
         Element name = root.getChild("name");
         System.out.println("Name: "+name.getText());
         Element sex = root.getChild("sex");
         System.out.println("Sex: "+sex.getText());
         Element year = root.getChild("year");
         System.out.println("Birth: "+year.getText());
         Element age = root.getChild("age");
         System.out.println("Age: "+age.getText()); 
         Element height = root.getChild("height");
         System.out.println("Height: "+height.getText());
         System.out.println("State: "+height.getAttributeValue("state"));	
         System.out.println(" "+Runtime.getRuntime().totalMemory()/1024/1024);
     	
    }
    
	public static void jdomTest() {
		String textXml = null;
		textXml = "<note>";
		textXml = textXml +
		"<to>aaa</to><from>bbb</from><heading>ccc</heading><body>ddd</body>";
		textXml = textXml + "</note>";
		
		SAXBuilder builder = new SAXBuilder();
	
		Document doc = null;
		Reader in = new StringReader(textXml);
		try {
			doc = builder.build(in);
			Element root = doc.getRootElement();
			List ls = root.getChildren();//注意此处取出的是root节点下面的一层的Element集合
			for (Iterator iter = ls.iterator(); iter.hasNext();) {
				Element el = (Element) iter.next();
				if (el.getName().equals("to")) {
					System.out.println(el.getText());
				}
			}
		}
		catch (IOException ex) {
			ex.printStackTrace();
		}
		catch (JDOMException ex) {
			ex.printStackTrace();
		}
	}
	public static void readRssFromUrl(){
		SAXBuilder saxBuilder = new SAXBuilder();
		URL url = null;
		Document doc = null;
		try {
				url = new URL("http://bbs.chinaunix.net/rss.php?fid=55&auth=0");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
		if(url == null){System.exit(0);}
		try {
				doc = saxBuilder.build(url);
				Element elm = doc.getRootElement();
				Element e = (Element)elm.getChildren().get(0);
				List list = e.getChildren();
				for(int i=0;i<list.size();i++){
					Element element = (Element)list.get(i);
					if(element.getName().equals("item")){
						System.out.println("\n 标题: " + element.getChildText("title"));
						System.out.println("\n 内容: " + element.getChildText("description"));
					}
					//System.out.println(element.getName());
				}
				//System.out.println("||"+elm.getAttributeValue("encoding")+">>");
		} catch (JDOMException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
    /**
     * @param args
     * @throws JDOMException 
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException, JDOMException {
        Jdom jdom = new Jdom();
        //测试
        	jdom.readRssFromUrl();
        //jdom.ReadDocument();
        
        
    }
}


http://www.jdom.org/docs/apidocs/index.html
分享到:
评论

相关推荐

    jdom介绍及使用指南

    - **org.jdom** 包含了所有XML文档元素的基本Java类,例如`Element`, `Attribute`, `Document`等。 - **org.jdom.adapters** 包含了与DOM兼容的适配器类,便于在JDOM与DOM之间进行转换。 - **org.jdom.filter** 提供...

    JDOM帮助文档以及使用教程

    3. **易于使用**:JDOM提供了一种面向对象的方式来处理XML,使得代码更简洁,易于理解和维护。 4. **丰富的API**:JDOM提供了丰富的API,可以方便地进行XML文档的构建、解析和修改。 **三、JDOM的基本结构** JDOM...

    JDOM使用详解XML及实例

    **JDOM** 是一个专为Java设计的XML处理库,它提供了一种高效且便捷的方式来解析、创建、修改和序列化XML文档。JDOM通过利用Java语言的强大特性,如方法重载、集合和映射,将SAX和DOM的优点结合在一起,简化了XML处理...

    jdom 下载 jdom 下载

    在本文中,我们将深入探讨JDOM的基本概念、功能、安装与下载,以及如何在Java项目中使用JDOM。 **1. JDOM简介** JDOM是由Jason Hunter和Brett McLaughlin发起的一个开源项目,旨在为Java开发者提供一个高效、便捷的...

    使用JDOM解析XML文件

    首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了JDOM的核心,它们帮助开发者构建和操作XML文档。 ...

    JDOM使用详解及实例(解析xml).pdf

    JDOM是一种用于处理XML的Java库,它简化了XML操作,使Java开发者能够以更为直观...它不仅介绍了JDOM的基本概念和结构,还通过实例演示了如何在实际应用中使用JDOM来解析XML文档,帮助开发者在日常开发工作中提高效率。

    jdom源码+jdom.jar

    JDOM的主要优点在于其完全使用Java语言实现,因此与Java平台高度集成,能够充分利用Java的特性。 JDOM.jar是JDOM库的二进制版本,包含了JDOM的所有类和接口,使得开发者可以在项目中直接引用这个jar文件,从而在...

    JDOM使用详解及实例(解析xml

    JDOM是一个专为Java设计的XML处理库,它结合了SAX和DOM的优点,提供了一种更高效且方便的方式来解析、创建和操作XML文档。JDOM的核心思想是创建一个基于Java对象模型的XML文档表示,使得开发者能够利用Java的强大...

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    在Java应用程序中,JDOM扮演着核心角色,允许开发者以面向对象的方式处理XML数据,极大地简化了XML的解析和生成过程。 JDOM-1.1是该库的一个版本,它包含了对XML标准的全面支持以及一些性能优化。`jdom-1.1.zip`是...

    Jdom教程 Jdom教程.pdf

    ### JDOM教程知识点详解 #### 一、JDOM简介 ...通过上述知识点的学习,我们可以了解到JDOM的基本使用方法,包括创建XML文档、解析XML文档以及使用XPath进行查询等功能。这对于开发者来说是非常有价值的工具。

    JDOM1.1(Jdom文档)

    使用JDOM1.1进行XML操作的基本步骤: 1. **解析XML**:使用SAXBuilder类解析XML文件,将其转换为Document对象。 ```java SAXBuilder builder = new SAXBuilder(); Document document = builder.build("path_to_...

    java org.jdom 包下载

    Java中的JDOM(Java Document Object Model)是一个用于处理XML文档的库,它提供了一种方便的方式来创建、修改和操作XML数据。JDOM是完全用Java编写的,因此它与Java平台紧密集成,提供了高效且灵活的API来处理XML...

    jdom.rar内含多个jdom包

    使用JDOM进行XML操作的基本步骤如下: 1. **解析XML**:通过`SAXBuilder`类读取XML文件,并将其转换为`Document`对象。 2. **操作XML**:对`Document`对象进行增删改查,比如修改`Element`的属性,添加子元素等。 3....

    jdom 读取XML 文件

    JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...

    jdom-1.0,jdom解析xml

    使用JDOM-1.0解析XML文档主要有两种方式:SAXBuilder和DOMBuilder。 #### 1. SAXBuilder SAXBuilder基于SAX(Simple API for XML)事件驱动模型,逐事件地处理XML文档,适用于大文件或内存有限的情况。 ```java ...

    JDOMAPI(html)

    JDOM提供了一种高效且方便的方式来创建、操作和读取XML文档。与DOM(Document Object Model)相比,JDOM更易于使用,性能更优,特别是对于Java开发者来说,因为它避免了DOM API的跨语言接口带来的额外开销。 **二、...

    jdom的帮助文档 jdom的帮助文档

    在“jdom_v1[1].1.CHM”帮助文档中,你将找到详细的API参考、示例代码和使用指南,这将有助于你更好地理解和掌握JDOM的使用。通过学习JDOM,你可以更有效地处理XML,提高Web应用的开发效率。同时,JDOM也支持XPath和...

    jdom源代码,包含jdom.jar

    在Java编程中,JDOM是处理XML数据的一种常见选择,因为它将XML文档表示为一系列的Java对象,使得开发者可以使用熟悉的Java API来操作XML。 **JDOM的基本结构:** JDOM的核心类包括Element(元素)、Attribute(属性...

    java jdom解析xml

    2. **JDOM基本结构** - **Element(元素)**:XML文档中的每一个节点,可以包含子元素、属性和文本。 - **Attribute(属性)**:元素上的键值对,用于提供额外信息。 - **Text(文本)**:元素内部的文本内容。 ...

    jdom教程

    **一、JDOM基本概念** 1. **Document对象**:在JDOM中,XML文档被表示为一个`org.jdom.Document`对象。这个对象包含了XML文档的根元素和相关的属性。 2. **Element对象**:XML文档中的每个元素都对应一个`org.jdom...

Global site tag (gtag.js) - Google Analytics