<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jdom創建解析xml

    Posted on 2009-07-03 17:28 胡娟 閱讀(383) 評論(0)  編輯  收藏 所屬分類: JAVA

    所需要jiar

      Jdom.jar

    所要解析和創建的xml文件樣式

    <?xml version="1.0" encoding="gb2312"?>
    <students>
        
    <student id="1">
            
    <name>hujuan</name>
            
    <age>24</age>
        
    </student>
        
    <student id="2">
            
    <name>fankai</name>
            
    <age>24</age>
        
    </student>
    </students>

    解析xml過程

    package com.hujuan.xml;

    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;

    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;

    public class ReadXML {
        
        
    public void readXml(String fileName){
            
    //創建builder實例,這里的false表示使用默認的解析器
            SAXBuilder builder = new SAXBuilder(false);
            
            
    try {
                
    //加載xml
                Document document = builder.build(fileName);
                
    //獲得根元素
                Element studentsElement = document.getRootElement();
                
    //獲得student元素下面的所有元素的子元素
                List studentList = studentsElement.getChildren("student");
                
    //循環list集合
                for(Iterator it = studentList.iterator();it.hasNext();){
                    Element student 
    = (Element)it.next();
                    
    //獲得得元素的屬性
                    String id = student.getAttributeValue("id");
                    System.out.println(id);
                    
    //獲得子元素的屬性
                    String name = student.getChildTextTrim("name");
                    System.out.println(name);
                    String age 
    = student.getChild("age").getText();
                    System.out.println(age);
                }
            } 
    catch (JDOMException e) {
                e.printStackTrace();
            } 
    catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    創建xml的過程

    package com.hujuan.xml;

    import java.io.FileWriter;
    import java.io.IOException;

    import org.jdom.Attribute;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;

    public class CreateXml {
        
        
    public void createXml(){
        
    //創建一個Document,因為xml文檔必須一直有一個唯一的根元素,所以Document將Element放在它的構造器中
        Element studentsElement = new Element("students");
        Document document 
    = new Document(studentsElement);

        
    //添加一個子元素,student節點
        Element student = new Element("student");
        
    //給student節點添加id屬性,值為1
        student.setAttribute(new Attribute("id","1"));
        Element name 
    = new Element("name");
        name.addContent(
    "hujuan");
        student.addContent(name);
        student.addContent(
    new Element("age").addContent("24"));
        studentsElement.addContent(student);
        
        Element student2 
    = new Element("student").setAttribute("id","2");
        
    //添加子元素并設置元素內容
        student2.addContent(new Element("name").setText("fankai"));
        student2.addContent(
    new Element("age").setText("24"));
        studentsElement.addContent(student2);
        
        
    try {
            
    //將xml輸出到屏幕上
            XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
            outputter.output(document, System.out);
            
    //將xml輸出到文件中
            FileWriter writer = new FileWriter("src/aa.xml");
            outputter.output(document, writer);
            writer.close();
        } 
    catch (IOException e) {
            e.printStackTrace();
        }
        
        }

    }

    測試用例

    package junit.test;

    import org.junit.Test;

    import com.hujuan.xml.CreateXml;
    import com.hujuan.xml.ReadXML;

    public class XmlTest {

        
    private String fileName = "src/student.xml";
        @Test
        
    public void readXmlTest(){
            ReadXML readXml 
    = new ReadXML();
            readXml.readXml(fileName);
        }
        @Test
        
    public void creatXmlTest(){
            CreateXml createXml 
    = new CreateXml();
            createXml.createXml();
        }
    }

    調用readXmlTest()方法輸出結果

    1
    hujuan
    24
    2
    fankai
    24

    調用creatXmlTest()方法的輸出結果

    <?xml version="1.0" encoding="UTF-8"?>
    <students>
      
    <student id="1">
        
    <name>hujuan</name>
        
    <age>24</age>
      
    </student>
      
    <student id="2">
        
    <name>fankai</name>
        
    <age>24</age>
      
    </student>
    </students>

    修改元素節點的值

    student.getChild("age").setText("22");

    刪除節點

    student.removeChild("name")

    Format 控制輸出文檔的格式

    Format.getCompactFormat() 表示采用緊湊的格式

    Format.getRawFormat() 表示采用原始格式

    Format.getPrettyFormat() 表示采用美化格式,即以兩個空格作為縮進來輸出文檔

    posts - 28, comments - 5, trackbacks - 0, articles - 1

    Copyright © 胡娟

    主站蜘蛛池模板: 一区二区无码免费视频网站| 中文毛片无遮挡高清免费| 无码日韩精品一区二区三区免费 | 亚洲国产国产综合一区首页| 插鸡网站在线播放免费观看| 国产亚洲精品激情都市| 久久WWW免费人成—看片| 中文字幕精品亚洲无线码一区 | 成人影片一区免费观看| 亚洲精品国产美女久久久| 久久免费高清视频| 久久亚洲AV成人无码电影| 免费A级毛片av无码| 亚洲一卡2卡4卡5卡6卡残暴在线| 香蕉97超级碰碰碰免费公| 亚洲人成网站日本片| 免费黄色一级毛片| 日韩一区二区三区免费播放| 亚洲熟妇少妇任你躁在线观看无码| 亚美影视免费在线观看| 亚洲成人动漫在线| 黄页网站在线看免费| 久久水蜜桃亚洲AV无码精品| 亚洲精品无码久久毛片| 久久99免费视频| 亚洲中文字幕一二三四区苍井空| 在线观看亚洲免费视频| 中文字幕免费在线看| 亚洲春色在线观看| 免费国内精品久久久久影院| 丁香花在线观看免费观看图片| 色噜噜综合亚洲av中文无码| 成年18网站免费视频网站| 人人爽人人爽人人片av免费| 亚洲国产香蕉碰碰人人| 成人免费无码大片A毛片抽搐| 一二三区免费视频| 亚洲美女色在线欧洲美女| 91免费资源网站入口| 色婷婷综合缴情综免费观看| 亚洲人成电影在线天堂 |