注意,下载完JDOM的组件后,只需要将jdom-2.0.6.jar这一个jar包导入编译器即可
1.JDOM生成XML文件
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.XMLOutputter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
//定义各个节点
Element stulist = new Element("stulist");
Element link = new Element("link");
Element name = new Element("name");
Element age = new Element("age");
//定义属性
Attribute id = new Attribute("id","id");
//声明Document对象
Document doc = new Document(stulist);
//设置元素内容
name.setText("cc");
age.setText("17");
//设置name的属性
name.setAttribute(id);
//设置子节点
link.addContent(name);
link.addContent(age);
stulist.addContent(link);
//用来输出XML文件
XMLOutputter op = new XMLOutputter();
//设置输出的编码
op.setFormat(op.getFormat().setEncoding("utf-8"));
try {
//输出XML文件
op.output(doc,new FileOutputStream("C:" + File.separator + "JDOM.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.JDOM读取XML文件
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import java.io.File;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
//建立SAX解析
SAXBuilder buil = new SAXBuilder();
//找到Document
Document read_doc = buil.build("C:" + File.separator + "JDOM.xml");
//读取根元素
Element stu = read_doc.getRootElement();
//得到全部link元素
List list = stu.getChildren("link");
for (int i = 0; i < list.size(); i++) {
//取得一个link子元素
Element e = (Element) list.get(i);
//取name元素内容
String name = e.getChildText("name");
//取得name元素的id属性
String id = e.getChild("name").getAttribute("id").getValue();
//取得age元素内容
String age = e.getChildText("age");
System.out.println("--联系人--");
System.out.println("id:" + id);
System.out.println("name:" + name + ",age:" + age);
System.out.println("-------");
}
}
}