java操作xml之jdom

jdom生成xml文件

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class XMLJdomWriter {
 public static void main(String[] args) {
  //添加根节点
  Element root = new Element("company");
  //添加子节点
  Element group = new Element("group");
        //添加节点id
  Element id = new Element("id");
  //id添加内容1
  id.addContent("1");
        //添加节点name
  Element value = new Element("name");
  //给节点赋值
  value.addContent("培训部");
  //划分节点之间的关系
  group.addContent(id);
  //给节点添加内容
  group.addContent(value);
        //将group节点添加到root节点中
  root.addContent(group);
  //创建xml文件
  Document document = new Document(root);
 
  try {
   Format format = Format.getCompactFormat();
   format.setEncoding("GBk"); //设置xml文件的字符为GBk
   //设置缩进 此行代码决定是否换行
   format.setIndent("  ");
   XMLOutputter out = new XMLOutputter(format);
      //获得输出的内容
      String xmlStr = out.outputString(document);
      System.out.println(xmlStr);
         ;

           
    out.output(document, new FileOutputStream("c:/test.xml"));
  } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
 }

jdom读取xml文件

import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;

public class TestJDOM {

 /**
  * @param args
  */
 public static void main(String[] args) {
  SAXBuilder builder = new SAXBuilder();
  try {
//   <users xmlns="
http://www.softeem.com/xml">
//   <user id="1">
//    <name>mick</name>
//    <pass>123</pass>
//   </user>
//   
//   <user id="2">
//    <name>jack</name>
//    <pass>123456</pass>
//   </user>
//   <!-- ..... -->
//  </users>
   //创建一个Document对象
   Document doc = builder.build("src/com/softeem/xml/myusers.xml");
   //doc.
   //获得根节点
   Element root = doc.getRootElement();
   System.out.println("根节点的名称"+ root.getName());
   //获得命名空间
   Namespace ns = root.getNamespace();
   //获得根节点下的所有子节点
   List users = root.getChildren();
   System.out.println("当前的节点的大小:"+users.size());
   //循环获取根节点下的子节点
   for (int i = 0; i < users.size(); i++) {
    
    Element user = (Element) users.get(i);
    //获取子节点的属性值
    String id = user.getAttributeValue("id");
    System.out.println("id:" + id);
    //获取子节点中嵌套节点的文本值(getText()方法获取文本)
    String name = user.getChild("name",ns).getText();
    System.out.println("name:" + name);
    String pass = user.getChild("pass",ns).getText();
    System.out.println("pass:" + pass);
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值