xml:
<njtd>
<systems>
<system>
<id>xwxt</id>
<name>xxx</name>
<versions isLatestVersion="yes">1.0</versions>
<downloadLink>/weblogic/download/versions/latestVersion</downloadLink>
<description>xxx</description>
</system>
</systems>
</njtd>
sax解析xml
public Map<String, String> readVersionsXml() {
Map<String, String> data = new HashMap<String, String>();
SAXReader sax = new SAXReader();
String projectPath = this.getClass().getResource("/").getPath().substring(1);
projectPath = projectPath.replace(projectPath.substring(projectPath.length()-8, projectPath.length()), "versions.xml");
File file = new File(projectPath);
if(!file.exists()){
data.put("message", "文件不存在!");
return data;
}
try {
Document doc = sax.read(file);
List<Element> listNjtd = doc.selectNodes("njtd");
for(Element njtd:listNjtd){
List<Element> listSystems = njtd.elements("systems");
for(Element systems:listSystems){
List<Element> listSystem = systems.elements("system");
for(Element system:listSystem){
/* Iterator<Node> v = system.element("versions").nodeIterator();
while(v.hasNext()){
System.out.println(v.next().getNodeTypeName());
}*/
if("xwxt".equals(system.element("id").getText())){
if(!"no".equals(system.element("versions").attribute("isLatestVersion").getText())){
data.put("versions", system.elementText("versions"));
data.put("downLoadURL", system.elementText("downloadLink"));
break;
}
}
}
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
return data;
}
返回结果:
{"versions":"1.0","downLoadURL":"/weblogic/download/versions/latestVersion"}
注意:
如果XML是这样
<njtd>
<systems>
<system>
<id>xwxt</id>
<name>小微系统</name>
<versions isLatestVersion="yes">1.0</versions>
<downloadLink>
/weblogic/download/versions/latestVersion
</downloadLink>
<description>小微系统</description>
</system>
</systems>
</njtd>
返回结果就是:
{"versions":"1.0","downLoadURL":"\n\t\t\t\t/weblogic/download/versions/latestVersion\n\t\t\t"}