转:http://www.cnblogs.com/hoojo/archive/2011/08/11/2134638.html
转:http://493420337.iteye.com/blog/758330
转:
package com.test;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
/**
* 首先要明确导入的是哪些类
* 1、Document用于生成文档,定义了格式
* 2、Element用于为xml文档中的元素设置key和value
* 3、XMLOutputter用于将已经设置好值的document输出到一个xml文档中。
*/
public class XmlTest {
public static void printXml(){
//定义一个root作为xml文档的根元素
Element root = new Element("CDRS");
//生成一个文档
Document Doc = new Document(root);
for (int j = 1; j <= 5; j++) {
//在生成的名称为CDRS的跟元素下生成下一级元素标签名称为cdr
Element elements = new Element("cdr");
//为cdr设置属性名和属性值
elements.setAttribute("name", "" + j);
//在cdr标签内部添加新的元素,即cdr的下一级标签,标签属性名为username,值为ss
elements.addContent(new Element("username").setText("ss"));
elements.addContent(new Element("password").setText("dd"));
//将已经设置好值的elements赋给root
root.addContent(elements);
}
//定义一个用于输出xml文档的类
XMLOutputter XMLOut = new XMLOutputter();
try {
//将生成的xml文档Doc输出到c盘的test.xml文档中
XMLOut.output(Doc, new FileOutputStream("d:/test.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
printXml();
}
}
转:http://blog.csdn.net/lk519186921/article/details/6437412
备注:在添加jdom.jar
转:http://blog.csdn.net/weal666/article/details/8768573
DOM的处理方式有些类似于DOM,但它主要是用SAX实现的,不必担心处理速度和内存的问题。另外,JDOM中几乎没有接口,类全部是实实在在的类,没有工厂类的。
数据输入要用到XML文档要通过org.jdom.input包,反过来需要org.jdom.output。
API如下:
- SAXBuilder.build(FileInputStream("*.xml");——获取xml文件,返回Document实例(读xml文件)
- Element.getChildren();——获取该节点的所有字节点,返回List
- Element.getChild("child节点名");——获取字节点实例
- Element.getAttribute("属性名");——获取该节点属性的value值(平面式节点)
- Element.getText();——获取该节点的节点文本
- Document(new Element("根节点名"));——新建xml文件文档
- Document.getRootElement();——获取根节点
- Element.addContent(Element);——添加子节点
- Element.setAttribute("属性名","属性值");——添加节点属性
- Element.setText("文本值");——添加该节点的文本值
- XMLOutputter(Format.getPrettyFormat())
- XMLOutputter.output(Document,FileOutPutStream)
这两句用来输出xml文件,其中Document为填好内容的xml文档对象,FileoutPutStream为文本输出流。唯一的不足是它不是严格校验的xml解析器,即你在getAttribute某个属性的时候,jdom并不会根据该xml文件的DTD去校验该属性是否合法,也就是说你的xml文件中完全可以不带DTD=""的索引,因为jdom不会去加载它。