try {
SAXBuilder builder = new SAXBuilder()
Document doc = builder.build(path)
Element ele = doc.getRootElement()
String rootName = ele.getName()
//Header 节点
Element headerEle = ele.getChild("Header")
String docVer = headerEle.getChild("DocumentVersion").getValue()
String idFilter = headerEle.getChild("MerchantIdentifier").getValue()
//MessageType 节点
String mType = ele.getChild("MessageType").getValue()
//Message 节点
List messages = ele.getChildren("Message")
//其他节点仿照上面,这里只解析Item节点
for(int i=0i<messages.size()i++)
{
List itemList = ((Element)messages.get(i)).getChild("OrderReport").getChildren("Item")
for(int j=0j<itemList.size()j++)
{
//此处仿照上面的方法依次来解析Item节点的数据
}
}
} catch (JDOMException e) {
e.printStackTrace()
} catch (IOException e) {
e.printStackTrace()
}
}
//如果路径为null就去读取路径if(path == null){StringBuffer tempPath = new StringBuffer()
tempPath.append(ReadXML.class.getResource("/").getPath())//获取当前class所在的路径//ReadXML.class.getResource("/").getPath())//你可以用这个方法来获取到你当前class的路径//ReadXML可以替换为你自己当前的class名字
if(tempPath.length()>0){//如果路径长度>0则路径存在
tempPath.deleteCharAt(0)
tempPath.delete(tempPath.length()-8, tempPath.length())//删除掉/classes
}
tempPath.append(fileName)
path = tempPath.toString()
} 写的比较久了。那时没有加注释习惯,,所以。。呵呵。现在勉强加上。你可以使用下看如果不行。你就用ReadXML.class.getResource("/").getPath())这个方法获取到路径获取到后可能为f:\aaa\WEB-INF\classes然后删除掉\classes再加上你的XML文件名就行了。后面的没有办法一定要写死的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)