老王学jsp之jdom解析

jdom不是标注你的解析器,但是确实非常方便的第三方工具,在官网下载jdom包,在工程中导入jdom.jar文件就可以使用了,非常方便

1):jdom写xml文件

import java.io.* ;
import org.jdom.* ;
import org.jdom.output.* ;
public class writeXML {
    public static void main(String args[]) throws Exception {
        Element addresslist = new Element("addresslist") ;
        Element linkman = new Element("linkman") ;
        Element name = new Element("name") ;
        Element email = new Element("email") ;
        Attribute id = new Attribute("id","lxh") ;
        Document doc = new Document(addresslist) ;    // 定义Document对象
        name.setText("老王") ;
        name.setAttribute(id) ;    // 将属性设置到元素之中
        email.setText("123@163.com") ;
        linkman.addContent(name) ;    // 设置关系
        linkman.addContent(email) ;
        addresslist.addContent(linkman) ;
        XMLOutputter out = new XMLOutputter() ;
        out.setFormat(out.getFormat().setEncoding("GBK")) ;    // 表示的是设置编码
        out.output(doc,new FileOutputStream(new File("../xml/src/address.xml"))) ;
    }
}

结果:

<?xml version="1.0" encoding="GBK"?>
<addresslist><linkman><name id="lxh">老王</name><email>123@163.com</email></linkman></addresslist>

2):jdom读取xml文件

import java.io.* ;
import java.util.* ;
import org.jdom.* ;
import org.jdom.input.* ;
public class ReadXML {
    public static void main(String args[]) throws Exception {
        SAXBuilder builder = new SAXBuilder() ;
        Document read_doc = builder.build(new File("D:" + File.separator + "address.xml")) ;
        Element root = read_doc.getRootElement() ;    // 取得根
        List list = root.getChildren("linkman") ;    // 得到所有的linkman
        for(int x=0;x<list.size();x++){
            Element e = (Element) list.get(x) ;
            String name = e.getChildText("name") ;    // 得到name子节点的内容
            String id = e.getChild("name").getAttribute("id").getValue() ;
            String email = e.getChildText("email") ;
            System.out.println("-------------- 联系人 -------------") ;
            System.out.println("姓名:" + name + ",编号:" + id) ;
            System.out.println("EMAIL:" + email) ;
            System.out.println("-----------------------------------") ;
            System.out.println() ;
        }
    }
}
原文地址:https://www.cnblogs.com/wanglei-134/p/3182685.html