jdom去操作xml文件 解析XML

jdom去操作xml文件 解析XML
//jdom去操作xml文件/查詢
package com.tsinghua;

import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
//import org.w3c.dom.NamedNodeMap;

import java.io.*;
import java.util.*;
public class TestJdomMjyEdit {

 
 public static void main(String []args){
  try {
   
   //1. 創建一個SaxBuilder
   SAXBuilder sax=new SAXBuilder();
   //2. 指定去解析哪個文件
   Document dm=sax.build(new FileInputStream("./mjy.xml"));
   //3. 現在就可以解析了,得到根元素
   Element root=dm.getRootElement();
   
   //start 循環處理屬性值 ,通用。不用管屬性名稱是什麼
   //4. 得到root下的第一層子元素
   List l=root.getChildren();
   System.out.println("size=="+l.size());
   Element name1=null;
   //得到第一個元素
   for(int i=0;i<l.size();i++){
    name1=(Element)l.get(i);
    List<Attribute> list=name1.getAttributes();
    for(Attribute attr : list){
     System.out.println(attr.getName()+" 的屬性值爲: "+attr.getValue());
    }
   }
   //end
   
   //這種方法比較死板,必須需要知道屬性名稱,不過針對大型,複雜的XML不適用,故註釋
   //指定得到某個元素的屬性值
//   String name2=name1.getAttributeValue("name");
//   System.out.println("name="+name2);
//   String name3=name1.getAttributeValue("value");
//   System.out.println("value="+name3);
   
  } catch (Exception e) {
   
   e.printStackTrace();
   // TODO: handle exception
  }
  
 }
}

 

XML:
<?xml version="1.0" encoding="gb2312"?>
<states>
<state name='mjy1' value='mjy2'/>
</states>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章