第三方工具Jdom解析XML

需要导入的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();
}

}

原文地址:https://www.cnblogs.com/hwgok/p/5763309.html