xml解析3:使用jdom框架进行对xml文档生成和读写解析

使用jdom框架首先下载需要的jar包 :jdom.jar

然后将jdom.jar纳入到java项目的管理之中

一个例子:

package ytu.botao.xml.dom;
import java.io.FileWriter;
import java.io.IOException;
import org.jdom.Attribute;
import org.jdom.Comment;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
 * 使用jdom框架进行 对xml构造,在本地硬盘上生成xml文档
 *
 * @author botao
 *
 */
public class JdomTest1 {
    /**
     *
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        Document document = new Document();
        Element root = new Element("root");
        document.addContent(root);
        Comment comment = new Comment("This is my comments");
        root.addContent(comment);
        Element e = new Element("hello");
        e.setAttribute("sohu","www.sohu.com");
        root.addContent(e);
        Element e2 = new Element("world");
        // 方法一:设置属性
        Attribute attr = new Attribute("test","hehe");
        e2.setAttribute(attr);
        e.addContent(e2);
        // 方法二:利用方法链的风格进行设置属性
        e2.addContent(new Element("aaa").setAttribute("a","b")
                .setAttribute("x","y").setAttribute("gg","hh")
                .setText("text content"));
        Format format = Format.getPrettyFormat();
        format.setIndent("    ");
        // format.setEncoding("gbk");
        XMLOutputter out = new XMLOutputter(format);
        out.output(document,new FileWriter("jdom.xml"));
    }
}



解析:


package ytu.botao.xml.dom;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
 * 利用jdom框架进行解析和修改属性
 * @author botao
 *
 */
public class JdomTest2 {
    /**
     *
     * @param args
     * @throws IOException
     * @throws FileNotFoundException
     * @throws JDOMException
     */
    public static void main(String[] args) throws FileNotFoundException,IOException,JDOMException {
SAXBuilder builder = new SAXBuilder();
          
        Document doc = builder.build(new File("jdom.xml"));
          
        Element element = doc.getRootElement();
          
        System.out.println(element.getName());
          
        Element hello = element.getChild("hello");
          
        System.out.println(hello.getText());
          
        List list = hello.getAttributes();
          
        for(int i = 0 ;i < list.size(); i++)
        {
            Attribute attr = (Attribute)list.get(i);
              
            String attrName = attr.getName();
            String attrValue = attr.getValue();
              
            System.out.println(attrName + "=" + attrValue);
        }
          
        hello.removeChild("world");
          
        XMLOutputter out = new XMLOutputter(Format.getPrettyFormat().setIndent("    "));
          
          
        out.output(doc,new FileOutputStream("jdom2.xml"));    
    }
}

相关文章

引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而产生的。具体...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满...
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原文”,可查看...
一、xml与xslt 相信所有人对xml都不陌生,其被广泛的应用于数据数据传输、保存与序列化中,是一种极为强...