<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 © 胡娟

    主站蜘蛛池模板: 亚洲色偷拍另类无码专区| 中文字幕亚洲天堂| 不卡一卡二卡三亚洲| 亚洲精品高清久久| 亚洲精品无码高潮喷水A片软| 一级午夜a毛片免费视频| 在线观看的免费网站无遮挡 | 免费国产黄网站在线观看| 毛片免费全部播放一级| 久久亚洲精品无码观看不卡| 亚洲沟沟美女亚洲沟沟| 免费一级毛片在线播放视频免费观看永久 | 亚洲男人第一av网站| 亚洲免费综合色在线视频| 精品国产污污免费网站| 成人永久免费高清| 亚洲国产精品lv| 羞羞漫画页面免费入口欢迎你| 99爱在线精品视频免费观看9| | 免费无码黄动漫在线观看| 亚洲国产精品无码中文字| 亚洲精品亚洲人成在线| 无码A级毛片免费视频内谢| 日本中文一区二区三区亚洲| 亚洲毛片在线免费观看| 国产精品免费在线播放| 日韩a级毛片免费观看| 亚洲一区二区在线视频| 一级特黄录像免费播放中文版| 最近高清国语中文在线观看免费| 亚洲成a人片在线观看无码| 国产亚洲精品2021自在线| 免费精品国产自产拍在线观看图片| 亚洲色婷婷一区二区三区| 久久精品国产亚洲AV天海翼| 中文字幕影片免费在线观看 | 婷婷精品国产亚洲AV麻豆不片 | 91香蕉在线观看免费高清| 亚洲小说区图片区另类春色| 亚洲av午夜电影在线观看|