基礎操作
xpath 解析xml檔案
迭代器迴圈遍歷
快速迴圈
建立新的xml文件
對xml文件進行增、刪、改、查
文件字串相互轉換
這是我們要讀取的xml檔案
<?xml version="1.0" encoding="utf-8"?>
得到文件物件
saxreader saxreader = new saxreader();
document document = saxreader.read(new file("src/config.xml"));
獲取根節點element就是節點類。
element element = document.getrootelement();
獲取指定節點下的直接子節點
listelements = element.elements();
獲取節點的屬性值
document.getrootelement().attributevalue("name")
獲取節點下的指定子節點物件
element e = document.getrootelement().element("action");
獲取節點的文字
element foo = document.getrootelement().element("foo");
system.out.println(foo.gettext());
使用xpath強大的功能快速定位目標元素
saxreader saxreader = new saxreader();
document document = saxreader.read(new file("xml路徑"));
//查詢 config 標籤下的 action 標籤下的所有forward標籤,返回多個
listlist = document.selectnodes("/config/action/forward");
//查詢config標籤下的action標籤,如果有多個返回乙個
node node = document.selectsinglenode("/config/action");
//注意node可以強轉成element
element element = (element)node;
public static void bar(document document)
system.out.println("我是分割線 ---------- root.elementiterator(\"foo\")");
// 迭代root節點下的直接子節點, 但只迭代節點名是 foo的節點
for (iteratorit = root.elementiterator("foo"); it.hasnext();)
system.out.println("我是分割線------------- root.attributeiterator()");
// 迭代root節點的所以屬性
for (iteratorit = root.attributeiterator(); it.hasnext();)
}
如果您必須使用大型xml文件樹,那麼為了提高效能,我們建議您使用快速迴圈方法,這樣可以避免iterator為每個迴圈建立物件的成本。例如
public void treewalk(document document)
public void treewalk(element element)
else }}
public static document createdocument()
將文件寫入這種方式有個缺點就是格式非常不美觀,如果要美觀的格式下面會講
filewriter out = new filewriter("foo.xml");
createdocument().write(out);
out.close();
格式美觀的
public static void write(document document) throws ioexception
原xml
張三19男
李四19女
public static void add() throws exception
結果
<?xml version="1.0" encoding="utf-8"?>
張三19上海男
李四19女
// 刪除節點
public static void delete() throws exception
結果
<?xml version="1.0" encoding="utf-8"?>
張三19男
李四19女
// 刪除節點
public static void update() throws exception
結果
<?xml version="1.0" encoding="utf-8"?>
富貴19男
李四19女
轉為字串
document document = …;
string text = document.asxml();
字串解析成document物件
string text = "james
";document document = documenthelper.parsetext(text);
dom4j 使用dom4j生成xml
使用org.dom4j.element 建立xml 生成service.xml檔案 param tran 交易物件 param filepath 資料夾路徑 public static void exportservicexml listtranlist,string filepath servic...
使用dom4j操作xml
1 xml中元素與dom4j中類和屬性的對應關係 document 對應整個xml檔案 element xml中的一對尖括號 attribute 乙個尖括號中的鍵值對 text 一對尖括號之間的內容 2 生成乙個xml檔案 建立乙個xml檔案對應的document物件 document docume...
dom4j操作 xml檔案
父類 public class ba mlconfig public static void initconfig string rootelement,file xmlconfig throws exception fileoutputstream fos new fileoutputstream...