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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值