Java解析xml以及创建xml文件

Java代码   收藏代码
  1. import java.io.FileOutputStream;  
  2.   
  3. import org.jdom.Document;  
  4. import org.jdom.Element;  
  5. import org.jdom.output.XMLOutputter;  
  6.   
  7. public class XMLDemo {  
  8.   
  9. /** 
  10. * @param args 
  11. */  
  12. public static void main(String[] args) {  
  13.    System.out.println("生成xml文件");  
  14.    new XMLDemo().createXML();  
  15.   
  16. }  
  17.   
  18. public void createXML() {  
  19.    // 创建根节点  
  20.    Element root = new Element("list");  
  21.   
  22.    // 根节点添加到文档中  
  23.    Document document = new Document(root);  
  24.   
  25.    for (int i = 0; i < 5; i++) {  
  26.     Element elements = new Element("user");  
  27.     // 给user 节点添加id 属性  
  28.     elements.setAttribute("id""" + i);  
  29.     // 给 user 节点添加子节点并赋值;  
  30.     // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui  
  31.     // 替换成表中记录值;  
  32.     elements.addContent(new Element("name").setText("xuehui"));  
  33.     elements.addContent(new Element("age").setText("28"));  
  34.     elements.addContent(new Element("sex").setText("Male"));  
  35.   
  36.     // 给父节点list添加user子节点;  
  37.     root.addContent(elements);  
  38.    }  
  39.    XMLOutputter XMLOut = new XMLOutputter();  
  40.   
  41.    // 输出 user.xml 文件;  
  42.    try {  
  43.     XMLOut.output(document, new FileOutputStream("user.xml"));  
  44.    } catch (Exception e) {  
  45.     e.printStackTrace();  
  46.    }  
  47. }  
  48. }  
  49.   
  50.   
  51. ---------------------解析xml文件  
  52.   
  53. import java.io.FileInputStream;  
  54. import java.io.FileOutputStream;  
  55. import java.util.List;  
  56.   
  57. import org.jdom.Attribute;  
  58. import org.jdom.Document;  
  59. import org.jdom.Element;  
  60. import org.jdom.input.SAXBuilder;  
  61. import org.jdom.output.XMLOutputter;  
  62.   
  63.   
  64. public class XMLParse {  
  65.   
  66. /** 
  67. * @param args 
  68. */  
  69. public static void main(String[] args) {  
  70.   
  71.    new XMLParse().XMLParse();;  
  72. }  
  73.   
  74. public void XMLParse(){  
  75.    //这里不给绝对路径也行,直接user.xml,但是前提是不管你写什么路径你必须都有xml文件  
  76.    String xmlpath="D:\\EXTJS\\extdemo\\user.xml";  
  77.    //使用JDOM首先要指定使用什么解析器,可以给参数false、true  
  78.    SAXBuilder builder=new SAXBuilder();  
  79.     try {  
  80.      //得到Document,我们以后要进行的所有操作都是对这个Document操作的:  
  81.      Document doc=builder.build(new FileInputStream(xmlpath));  
  82.      //得到根元素  
  83.      Element users=doc.getRootElement();  
  84.      //得到元素(节点)的集合:  
  85.      List list=users.getChildren();  
  86.      //得到根节点下面的第一个用户  
  87.      Element user = (Element)list.get(0);  
  88.      //为这个用户添加第一个属性 email  
  89.      Attribute params = new Attribute("email","zzz@163.com");  
  90.      user.setAttribute(params);  
  91.      //为这个用户添加一个子节点  
  92.      user.addContent(new Element("class").setText("S305"));  
  93.      //得到这个用户的name元素的值  
  94.      Element name = user.getChild("name");  
  95.      //给这个元素重新赋值  
  96.      name.setText("zhangsan");  
  97.      System.out.println(user.getChildText("name"));   
  98.      //保存Document的修改到XML文件中:  
  99.      XMLOutputter outputter=new XMLOutputter();  
  100.      outputter.output(doc,new FileOutputStream(xmlpath));   
  101.     }  
  102.     catch(Exception e)  
  103.     {  
  104.      e.printStackTrace();  
  105.     }  
  106. }  
  107. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值