java解析Xml文件的標准範例:
File f = new File(System.getProperty("user.dir") + File.separator
+ "src/userfile.xml");// 定位文件
reader = new SAXReader();
try {
doc = reader.read(f);// 讀取文件
} catch (DocumentException e) {
e.printStackTrace();
}
Element root = doc.getRootElement();// 得到根節點
Element connect = root.element("connect");// 取得connect節點
Element user = root.element("user");// 取得user節點
Element ipEle = connect.element("ip");// 取得ip節點
Element portEle = connect.element("port");// 取得ip節點
Element nameEle = user.element("name");// name
Element dirEle = user.element("dir");// dir
String ip = ipEle.getText();// ip
String port = portEle.getText();
String name = nameEle.getText();
String dir = dirEle.getText();
㈡ 有一個xml文件,怎樣寫他的解析代碼java語言
用的是dom4j,還有其它什麼Jdom之類的,自己喜歡什麼用什麼
//你的xml文件位置,可以是相對路徑、絕對路徑
privatefileFILE=newFile("d:/1.xml");
//需要存儲的列表
privateListlist_boys;
privateListlist_girls;
//讀取xml文件
privateDocumentread(){
SAXReaderreader=newSAXReader();
Documentdocument=null;
try{
document=reader.read(FILE);
}catch(DocumentExceptione){
e.printStackTrace();
}
returndocument;
}
//獲取根元素
privateElementgetRootElement(){
returnread().getRootElement();
}
publicvoidsaveMap(Filefile){
ElementRoot=getRootElement();
//獲取subject標簽
Elementsubject=(Element)Root.elementIterator("subject").next();
list_boys=newArrayList<>();
list_girls=newArrayList<>();
for(Iterator<?>i=subject.elementIterator("boys");i.hasNext();){
Map<String,Object>map=newHashMap<>();
Elemente=(Element)i.next();
map.put("boys",e.getTextTrim());
list_boys.add(map);
}
for(Iterator<?>i=subject.elementIterator("girls");i.hasNext();){
Map<String,Object>map=newHashMap<>();
Elemente=(Element)i.next();
map.put("girls",e.getTextTrim());
list_girls.add(map);
}
}
這個獲取的結果是一個存有HashMap的列表,如果你確定裡面只有一個,你可以不用循環,直接用
//只取到第一個元素,下面都一樣
Elemente=(Element)subject.elementIterator("boys").next();
如果多個的話就用迭代器。