需要导入的jar包:jdom-2.0.6.jar
package com.huawei.xml;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
/**
*
* JDOM解析
* @author Administrator
*
*/
public class TestJDOMParser {
public static void parser() throws Exception{
//得到解析器
//DOMBuilder 主要用于构建内存中已有的文档
//SAXBuilder 主要用于 基于文件或是输入流构建文档
SAXBuilder builder = new SAXBuilder();
InputStream in = TestJDOMParser.class.getClassLoader().getResourceAsStream("com/cdsxt/resources/Users.xml");
//得到构建的DOcument
Document doc = builder.build(in);
//先得到根节点 然后再去得到 子元素
Element root = doc.getRootElement();
//得到所有的儿子元素
List<Element> childs = root.getChildren();
for(Element child:childs){
// System.out.println(child.getAttributeValue("id"));
System.out.println(child.getChildText("username"));
}
}
public static void updateXMl(){
}
/**
* 创建一个xml文件
*/
public static void createXML() throws Exception{
//都建文档
Document doc = new Document();
Element root = new Element("Users");
Element user = new Element("User");
user.setAttribute("id", "zhanoliu").setAttribute("name", "test-user");
Element username = new Element("username");
username.addContent("fengjie");
Element email = new Element("email");
email.setText("fenjie@126.com");
//建立关系
user.setContent(username);
user.setContent(email);
root.addContent(user);
doc.setRootElement(root);
//将构建好的Document写出去
//创建将文件输出器
XMLOutputter outputter = new XMLOutputter();
//默认的是没有格式的 所以要获取一个格式化器 去格式话代码
Format format = Format.getPrettyFormat();
format.setIndent(" ");
outputter.setFormat(format);
//构建文件输出流
OutputStream out = new FileOutputStream(new File("F:/tttt.xml"));
//输出文件
outputter.output(doc, out);
out.flush();
out.close();
}
public static void main(String[] args) throws Exception {
//parser();
createXML();
}
}