SAXBulider基本用法


(本文轉載於http://blog.163.com/liucy_18/blog/static/531929062010627104937623/)

// 下載jdom包
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
(1)使用JDOM首先要指定使用什麼解析器。如:
          SAXBuilder builder=new SAXBuilder(false); 這表示使用的是默認的解析器

(2)將得到的String型xmlpath處理一下

   byte[] bytes = xmlpath.getBytes("UTF-8");    
    InputStream xmlInput = new ByteArrayInputStream(bytes);

   得到Document,我們以後要進行的所有操作都是對這個Document操作的:
          Document doc=builder.build(xmlInput);
(3)得到根元素:
          Element books=doc.getRootElement();
在JDOM中所有的節點(DOM中的概念)都是一個org.jdom.Element類,當然他的子節點也是一個org.jdom.Element類。
(4)得到元素(節點)的集合:
        List booklist=books.getChildren("book");
這表示得到“books”元素的所在名稱爲“book”的元素,並把這些元素都放到一個List集合中
(5)輪循List集合
       for (Iterator iter = booklist.iterator(); iter.hasNext();) {
         Element book = (Element) iter.next();
      }

還有一種方法:

    for(Element element : booklist){
         element.getText();
     }
還有一種輪循方法是:
      for(int i=0;I<booklist.size();I++){
        Element book=(Element)booklist.get(i);
      }
(6)取得元素的屬性:
      String email=book.getAttributeValue("email");
     取得元素book的屬性名爲“email”的屬性值。
(7)取得元素的子元素(爲最低層元素)的值:
      String name=book.getChildTextTrim("name");
      注意的是,必須確定book元素的名爲“name”的子元素只有一個。
(8)改變元素(爲最低層元素)的值:
      book.getChild("name").setText("alterrjzjh");
      這只是對Document的修改,並沒有在實際的XML文檔中進行修改
(9)保存Document的修改到XML文件中:
     XMLOutputter outputter=new XMLOutputter();
      outputter.output(doc,new FileOutputStream(xmlpath));

我們先要有一個XMLOutputter類,再把已經修改了的Document保存進XML文檔中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章