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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值