SAXReader解析xml,模糊檢索等記錄
阿新 • • 發佈:2018-12-15
使用SAXReader解析xml的方法記錄:
SAXReader reader = new SAXReader(); Document document = reader.read("xml檔案路徑");
1、獲取根節點
Element root = document.getRootElement();
2、獲取某個節點
List<Element> list = document.selectNodes("//action")
單斜槓(/)表示緊接著的根目錄。
雙斜槓(//)表示該節點下任一層級。
無斜槓表示根節點
3、根據節點的屬性值檢索節點
List<Element> list = root.selectNodes("節點名[@屬性名='屬性值'][@屬性名=‘屬性值’]...");
List<Element< list = root.selectNodes("節點名[contains(@屬性名, '屬性值')]"); //模糊查詢
Element e = (Element) root.selectSingleNode("節點名[@屬性名=‘屬性值’]"); //查詢單一的節點
4、獲取屬性值
String value = element.attributeValue("屬性名");
5、刪除節點
root.remove(e);
刪除後重新寫xml檔案
OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(讀取的xml檔案file), format); writer.write(document); writer.close();