DOM4J解析XML文件

2021-09-06 10:29:20 字數 2689 閱讀 6724

tip:dom4j解析xml文件

tip:document物件

dom4j中,獲得document物件的方式有三種:

1.讀取xml檔案,獲得document物件            

saxreader reader = new saxreader();              document   document = reader.read(new file("input.xml"));

2.解析xml形式的文字,得到document物件.

string text = "";              document document = documenthelper.parsetext(text);

3.主動建立document物件.

document document = documenthelper.createdocument();             //建立根節點

element root = document.addelement("members");

tip:節點物件

1.獲取文件的根節點.

element root = document.getrootelement();

2.取得某個節點的子節點.

element element=node.element(「書名");

3.取得節點的文字

string text=node.gettext();

4.取得某節點下所有名為「member」的子節點,並進行遍歷. list nodes = rootelm.elements("member");  for (iterator it = nodes.iterator(); it.hasnext();)

5.對某節點下的所有子節點進行遍歷.    for(iterator it=root.elementiterator();it.hasnext();)

6.在某節點下新增子節點. element ageelm = newmemberelm.addelement("age");

7.設定節點文字. element.settext("29");

8.刪除某節點. //childelm是待刪除的節點,parentelm是其父節點

parentelm.remove(childelm);

9.新增乙個cdata節點. element contentelm = infoelm.addelement("content"); contentelm.addcdata(diary.getcontent());

tip:節點物件屬性

1.取得某節點下的某屬性    element root=document.getrootelement();        //屬性名name

attribute attribute=root.attribute("size");

2.取得屬性的文字    string text=attribute.gettext();

3.刪除某屬性 attribute attribute=root.attribute("size"); root.remove(attribute);

3.遍歷某節點的所有屬性   element root=document.getrootelement();       for(iterator it=root.attributeiterator();it.hasnext();)

4.設定某節點的屬性和文字.   newmemberelm.addattribute("name", "sitinspring");

5.設定屬性的文字   attribute attribute=root.attribute("name");   attribute.settext("sitinspring");

tip:將文件寫入xml檔案.

1.文件中全為英文,不設定編碼,直接寫入的形式.  xmlwriter writer = new xmlwriter(new  filewriter("output.xml"));  writer.write(document);  writer.close();

2.文件中含有中文,設定編碼格式寫入的形式. outputformat format = outputformat.createprettyprint(); // 指定xml編碼                   

format.setencoding("gbk");       xmlwriter writer = new xmlwriter(newfilewriter("output.xml"),format); writer.write(document); writer.close();

tip:dom4j在指定位置插入節點

1.得到插入位置的節點列表(list)

2.呼叫list.add(index,elemnent),由index決定element的插入位置。

element元素可以通過documenthelper物件得到。示例**:

element aaa = documenthelper.createelement("aaa");

aaa.settext("aaa");

list list = root.element("書").elements();

list.add(1, aaa);

//更新document

DOM4J解析XML文件

dom4j是乙個簡單 靈活的開放源 的庫。疊代器 iterator s public static void listelementattribut element element public static void createelement doment doc xml xml schema ...

DOM4j解析xml文件

dom4j解析xml文件 建立解析器 saxreader reader new saxreader 利用解析器讀入xml文件 document document reader.read new file input.xml 獲取文件的根節點 element root document.getroot...

dom4j輸入xml文件與解析xml文件

書寫xml文件 try 到這一步,目前將所有的student例項都新增到了doc中,但是還未生成檔案 4.建立輸出流 fileoutputstream fos new fileoutputstream student.xml xmlwriter writer new xmlwriter fos,ou...