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();
如果多个的话就用迭代器。