xpath解析xml檔案
阿新 • • 發佈:2018-12-25
最近在做xml檔案的解析,需要獲取其中某些節點或某些屬性,一開始用迴圈來做,顯得很蠢,後來瞭解到dom4j,以及xpath,程式碼可讀性顯著增強。
首先取得xml檔案的根結點
SAXReader reader = new SAXReader();
File file = new File("books.xml");
Document document = reader.read(file);
Element root = document.getRootElement();
重點說明xpath用法
String xpath1 = "node/node/node[@name='xiaoming']"; String xpath2 = "following-sibling::*[1]"; String xpath3 = "//node/node[@name='xiaohong']; List<Node> nodeList1 = root.selectNodes(xpath1); Node node = root.selectSingleNode(xpath2); List<Node> nodeList2 = root.selectNodes(xpath3);
nodeList1是root節點下的所有符合 node節點下node節點下的符合name屬性=xiaoming的所有node節點
nodeList2是整個文件中所有符合 node節點下的符合name屬性=xiaohong的所有node節點
node是root節點下的第一個兄弟節點(索引從1開始),如果沒有則為null
獲取到節點之後就可以進行獲取節點屬性之類的操作了