<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视频在线观看免费| 免费国产怡红院在线观看| 亚洲香蕉久久一区二区| 久久精品免费一区二区| 亚洲成年人免费网站| 1024免费福利永久观看网站| 2020天堂在线亚洲精品专区| 在线观看免费宅男视频| 人人狠狠综合久久亚洲| 又大又黄又粗又爽的免费视频 | 国产精品久久久久免费a∨| 久久国产乱子免费精品| 亚洲AV永久精品爱情岛论坛| 好久久免费视频高清| 亚洲精品人成电影网| 99精品国产免费久久久久久下载| 亚洲影院天堂中文av色| 国产一区在线观看免费| 四虎影视永久在线精品免费| 超清首页国产亚洲丝袜| 久久久高清日本道免费观看| 亚洲免费一级视频| 国产成人aaa在线视频免费观看| 亚洲视频在线免费看| 日本在线高清免费爱做网站| 亚洲精品9999久久久久无码| 中文字幕亚洲不卡在线亚瑟| 国产精成人品日日拍夜夜免费| 亚洲一级毛片免费在线观看| 日本免费电影一区二区| 久久精品国产亚洲AV蜜臀色欲| 国产特级淫片免费看| 国产成人免费ā片在线观看老同学| 中文字幕亚洲综合久久| 成在线人永久免费视频播放| 三上悠亚电影全集免费| 亚洲AV无码乱码在线观看代蜜桃| 免费在线观看黄色毛片| 8x网站免费入口在线观看| 亚洲av永久无码精品网址|