java解析xml的几种方式 JDOM解析

来源:互联网 发布:农村淘宝面试几天 编辑:程序博客网 时间:2024/05/17 22:13
JDOM:

  JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。

  ?JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念等),把SAX和DOM的功能有效地结合起来。

  ?JDOM是用Java语言读、写、操作XML的新API函数。在直接、简单和高效的前提下,这些API函数被最大限度的优化。

  jdom创建xml

  Java代码

  import java.io.FileWriter;

  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;

  public class JDomTest1

  {

  public static void main(String[] args) throws Exception

  {

  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"));

  }

  }

  JDOM解析xml

  Java代码

  import java.io.File;

  import java.io.FileOutputStream;

  import java.util.List;

  import org.jdom.Attribute;

  import org.jdom.Document;

  import org.jdom.Element;

  import org.jdom.input.SAXBuilder;

  import org.jdom.output.Format;

  import org.jdom.output.XMLOutputter;

  public class JDomTest2

  {

  public static void main(String[] args) throws Exception

  {

  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"));

  }

  }

0 0
原创粉丝点击