楼主就别想要例子了自己用dom4j解析吧
解决方案 »
- 求解释 jdbc的东西 不明白为什么
- struts2.0的基础问题
- 把项目从svn上下载硬盘再导进myEclipse就连不上svn什么
- 中文问题,有在windows下开发,在unix服务器上中文就无法识别
- Struts 2.0的问题
- delete()无法删除某文件,请问一般会是什么原因造成的?
- 谁有JAVA做的计算器的源代码给我发一个好吗??[email protected]
- 急啊,快来帮帮我,jxl读取excel中日期的问题!
- 高手指明发展方向
- 请问大家有没有关于Struts的eBook呀,我想学习一下Struts,谢谢!(最好是中文的)
- 被卡住一天的linux下tomcat的问题,大神救救
- EXTJS 4 如何选择下个节点的第一片树叶
//按照你的xml格式,用dom4j做的解析.,插入数据都不会的,自己百度
public static void main(String[] args) throws Exception { String readStr = "";
String text = "";
FileReader fr = new FileReader(
"C:\\Users\\Administrator\\Desktop\\cal.html");
BufferedReader br = new BufferedReader(fr);
while ((readStr = br.readLine()) != null) {
text += readStr;
}
//读取完成xml
System.out.println(text);
Element element = getXmlRoot(text);
Map map = new HashMap();
parse(element, null, map);
System.out.println(map.get("reason"));
List list = (List)map.get("results");
//遍历数据数据
for(Object o:list){
Map m = (Map)o;
System.out.println(m.get("20052001"));
System.out.println(m.get("20052002"));
}
} public static Element getXmlRoot(String str) throws DocumentException,
IOException {
StringReader sr = new StringReader(str);
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(sr);
Element root = doc.getRootElement();
return root;
} //为了方便采用map封装,也可以用自己的javabean
public static void parse(Element element, Element father,Map map) { if(father!=null){
if("output".equals(father.getName())){
if ("resultcode".equals(element.getName())||"reason".equals(element.getName())) {
map.put(element.getName(), element.getStringValue());
}
}
//如果父节点是reslut,则当前节点是row,
if("result".equals(father.getName())){
String rownum = element.attributeValue("rownum");
//对row下的元素遍历封装
List<Element> elements = element.elements();
Map<String,String> m = new HashMap<String,String>();
if (elements.size() > 0) {
for (Element elem : elements) {
if("col".equals(elem.getName())){
m.put(elem.attributeValue("param_name"),elem.getStringValue());
}
}
}
List list = (List)map.get("results");
if(list==null){
list=new ArrayList();
}
list.add(m);
map.put("results",list);
return;
}
}
// 有子元素
List<Element> elements = element.elements();
if (elements.size() > 0) {
for (Element elem : elements) {
// 递归遍历
parse(elem, element,map);
}
}
}