dom4j通過 xpath 處理xmlns

2022-08-10 04:12:13 字數 670 閱讀 8875

xml中含有命名空間後,用普通的xpath只能篩選到根結點

需要在map裡加乙個xml的namespace

map map = new hashmap();

map.put("xmlns","");

reader.getdocumentfactory().setxpathnamespaceuris(map);

fileinputstream fin = new fileinputstream(new file(absolutepath));

inputstreamreader is = new inputstreamreader(fin,"utf-8");

document document = reader.read(is);

然後再裝載xml檔案

編寫xpath時要帶要上xmlns

原來是這樣寫:document.selectnodes("/book/formeraidtext/title")

加上xmlns後:document.selectnodes("/xmlns:book/xmlns:formeraidtext/xmlns:title")

如果閒麻煩,加個正則替換

public static string fixedxpath(string xpath)  

dom4j通過xpath查詢xml

獲取document saxreader saxreader new saxreader document document saxreader.read fileutil.getfileinputstream filename 查詢element string xpath rec vol corr...

dom4j通過xpath查詢xml

獲取document 查詢element xpath語法 xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 step 來選取的。表示式描述 nodename 選取此節點的所有子節點 從根節點擊取 從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置 選取當前節點 選取...

dom4j通過xpath查詢xml

獲取document 查詢element 得具體屬性的值 for element element composites string pyear element.elementtext p year 4.xpath語法 xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 s...