📄 parsereportxml.java
字号:
package cn.netjava.lbs.le;
import org.jdom.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;
/**
*
* <p>Title:中国移动手机定位系统(LBS) le接口库</p>
* <p>Description: </p>
* <p>Company:蓝杰实训 </p>
* @author www.NetJava.cn
* @version 0.1
*/
public class ParseReportXML {
public ParseReportXML() {
}
/**
* 转换XML到map
*
* @param xml
* String:传入的XML
* @param map
* HashMap:解析后的MAP
* @return HashMap
*/
public java.util.HashMap xml2map(String xml, java.util.HashMap map) {
try {
if (map == null) {
map = new HashMap();
}
InputStream in = new ByteArrayInputStream(xml.getBytes("gb2312"));
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(in);
Element root = doc.getRootElement();
if (!element2map(root.getChildren(), map)) {
map.clear();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return map;
}
/***************************************************************************
* 把xml的内容的节点取出,转换成 SelfName = Value 的形式
*/
private boolean element2map(java.util.List list, java.util.Map map) {
for (int i = 0; i < list.size(); i++) {
Element e = (Element) list.get(i);
// String parentName= e.getParent() .getName() ;
// String parentValue=e.getParent() .getTextTrim() ;
// System.out.println( " parentName: "+parentName+"= "+parentValue);
if (e.getTextTrim() != null && e.getTextTrim().length() > 0) {
map.put(e.getName(), e.getTextTrim());
}
java.util.List listChildern = e.getChildren();
if (listChildern.size() > 0) {
element2map(listChildern, map);
}
}
return true;
}
/**
* 转换XML属性值 到map
*
* @param xml
* String:传入的XML
* @param map
* HashMap:解析后的MAP
* @return HashMap
*/
public java.util.HashMap xmlAttribute2map(String xml, java.util.HashMap map) {
try {
if (map == null) {
map = new HashMap();
}
InputStream in = new ByteArrayInputStream(xml.getBytes("gb2312"));
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(in);
Element root = doc.getRootElement();
if (!AttributeElement2map(root.getChildren(), map)) {
map.clear();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return map;
}
/***************************************************************************
* 把xml的内容的节点取出,转换成 ParentName.SelfName = Value 的形式
*/
private boolean AttributeElement2map(java.util.List list, java.util.Map map) {
try {
for (int i = 0; i < list.size(); i++) {
Element e = (Element) list.get(i);
List l_att = e.getAttributes();
for (int t = 0; t < l_att.size(); t++) {
Attribute attribute = (Attribute) l_att.get(t);
String name = attribute.getName();
String value = attribute.getValue();
map.put(name, value);// 属性
}
java.util.List listChildern = e.getChildren();
if (listChildern.size() > 0) {
AttributeElement2map(listChildern, map);
}
}
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -