下載地址: http://www.dom4j.org/dom4j-1.6.1/ 點擊download now就能夠下載了。html
首先,在下載的文件中 docs/index.html中有詳細的解釋說明,能夠參考學習。java
SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File("four.xml"));
// iterate through child elements of root for ( Iterator i = root.elementIterator(); i.hasNext(); ) { Element element = (Element) i.next(); // do something } // iterate through child elements of root with element name "foo" for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) { Element foo = (Element) i.next(); // do something } // iterate through attributes of root for ( Iterator i = root.attributeIterator(); i.hasNext(); ) { Attribute attribute = (Attribute) i.next(); // do something }
public void treeWalk(Element element) { for ( int i = 0, size = element.nodeCount(); i < size; i++ ) { Node node = element.node(i); if ( node instanceof Element ) { treeWalk( (Element) node ); } else { // do something.... } } }
1.讀取XML文件,得到document對象 AXReader reader = new SAXReader(); Document document = reader.read(new File("csdn.xml")); 2.解析XML形式的文本,獲得document對象. String text = "<csdn></csdn>"; Document document = DocumentHelper.parseText(text); 3.主動建立document對象. Document document = DocumentHelper.createDocument(); Element root = document.addElement("csdn");
String text = document.asXML();
第一種:簡易格式:(不考慮編碼,不考慮格式) XMLWriter xmlWriter = new XMLWriter(new FileWriter("four.xml"); xmlWriter.write(document); xmlWriter.close(); 第二種:精確格式:(考慮編碼,考慮格式) OutputFormat of = OutputFormat.createPrettyPrint(); //OutputFormat of = new OutputFormat(); of.setEncoding("utf-8"); XMLWriter xmlWriter = new XMLWriter(new FileWriter("four.xml"), of); xmlWriter.write(document); xmlWriter.close();
注意:一般咱們設置了輸出文件的字符格式,仍要主要java文件的字符格式是什麼,若是二者不一致,依然會產生中文亂碼錯誤。node
java文件的編碼一般爲GBK,調整在window->preference下:spring
1.獲取文檔的根節點. Element root = document.getRootElement(); 2.取得某個節點的子節點. Element element=node.element(「四大名著"); 3.取得節點的文字 String text=node.getText(); 4.取得某節點下全部名爲「csdn」的子節點,並進行遍歷. List nodes = rootElm.elements("csdn"); for (Iterator it = nodes.iterator(); it.hasNext();) { Element elm = (Element) it.next(); // do something } 5.對某節點下的全部子節點進行遍歷. for(Iterator it=root.elementIterator();it.hasNext();){ Element element = (Element) it.next(); // do something } 6.在某節點下添加子節點 Element elm = newElm.addElement("朝代"); 7.設置節點文字. elm.setText("明朝"); 8.刪除某節點.//childElement是待刪除的節點,parentElement是其父節點 parentElement.remove(childElment); 9.添加一個CDATA節點.Element contentElm = infoElm.addElement("content");contentElm.addCDATA(「cdata區域」); 來自 <http://blog.csdn.net/redarmy_chen/article/details/12969219>
1.取得某節點下的某屬性 Element root=document.getRootElement(); //屬性名name Attribute attribute=root.attribute("id"); 2.取得屬性的文字 String text=attribute.getText(); 3.刪除某屬性 Attribute attribute=root.attribute("size"); root.remove(attribute); 4.遍歷某節點的全部屬性 Element root=document.getRootElement(); for(Iterator it=root.attributeIterator();it.hasNext();){ Attribute attribute = (Attribute) it.next(); String text=attribute.getText(); System.out.println(text); } 5.設置某節點的屬性和文字. newMemberElm.addAttribute("name", "sitinspring"); 6.設置屬性的文字 Attribute attribute=root.attribute("name"); attribute.setText("csdn"); 來自 <http://blog.csdn.net/redarmy_chen/article/details/12969219>