jdom生成xml文件
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
public class XMLJdomWriter {
public static void main(String[] args) {
//添加根节点
Element root = new Element("company");
//添加子节点
Element group = new Element("group");
//添加节点id
Element id = new Element("id");
//id添加内容1
id.addContent("1");
//添加节点name
Element value = new Element("name");
//给节点赋值
value.addContent("培训部");
//划分节点之间的关系
group.addContent(id);
//给节点添加内容
group.addContent(value);
//将group节点添加到root节点中
root.addContent(group);
//创建xml文件
Document document = new Document(root);
try {
Format format = Format.getCompactFormat();
format.setEncoding("GBk"); //设置xml文件的字符为GBk
//设置缩进 此行代码决定是否换行
format.setIndent(" ");
XMLOutputter out = new XMLOutputter(format);
//获得输出的内容
String xmlStr = out.outputString(document);
System.out.println(xmlStr);
;
out.output(document, new FileOutputStream("c:/test.xml"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
jdom读取xml文件
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
public class TestJDOM {
/**
* @param args
*/
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
try {
// <users xmlns="http://www.softeem.com/xml">
// <user id="1">
// <name>mick</name>
// <pass>123</pass>
// </user>
//
// <user id="2">
// <name>jack</name>
// <pass>123456</pass>
// </user>
// <!-- ..... -->
// </users>
//创建一个Document对象
Document doc = builder.build("src/com/softeem/xml/myusers.xml");
//doc.
//获得根节点
Element root = doc.getRootElement();
System.out.println("根节点的名称"+ root.getName());
//获得命名空间
Namespace ns = root.getNamespace();
//获得根节点下的所有子节点
List users = root.getChildren();
System.out.println("当前的节点的大小:"+users.size());
//循环获取根节点下的子节点
for (int i = 0; i < users.size(); i++) {
Element user = (Element) users.get(i);
//获取子节点的属性值
String id = user.getAttributeValue("id");
System.out.println("id:" + id);
//获取子节点中嵌套节点的文本值(getText()方法获取文本)
String name = user.getChild("name",ns).getText();
System.out.println("name:" + name);
String pass = user.getChild("pass",ns).getText();
System.out.println("pass:" + pass);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}