public class Test {
public static void main(String[] arc) throws RuntimeException {
try {
SAXReader reader = new SAXReader();
//以下是要输入的xml
org.dom4j.Document doc = reader.read("C:\\11.xml");
String aa = doc.asXML();
EntrustUpLoadCommand pd = new EntrustUpLoadCommand();
pd.setXML(aa);
pd = (EntrustUpLoadCommand) pd.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}
--------------------------
//用于把xml文件中属性值转为map 其中 name为map的key,value为map中的value
public static Map getProperties(String xml) throws CommandException {
Map prop = new HashMap();
try {
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new StringReader(xml));
Element root = doc.getRootElement();
Element pro = root.getChild("properties");
if (null != pro) {
List proList = pro.getChildren("cell");
for (int i = 0; i < proList.size(); i++) {
Element cell = (Element) proList.get(i);
prop.put(cell.getAttributeValue("name").toLowerCase(), cell.getAttributeValue("value"));
}
}
getvoList(root, prop);
} catch (JDOMException e) {
throw new CommandException("XML报文有问题");
}
return prop;
}
//用于把Element文件中属性值转为map[] 其中 name为map的key,value为map中的value
//此方法主要是单list转map
private static void getvoList(Element root, Map in) throws CommandException {
try {
List pro = root.getChildren("arrayList");
log.debug("pro.size() = " + (null == pro ? "0" : "" + pro.size()));
if (null != pro) {
for (int k = 0; k < pro.size(); k++) {
List prop = new ArrayList();
Element prof = (Element) pro.get(k);
in.put(prof.getAttributeValue("name"), prop);
List pror = prof.getChildren("vo");
for (int j = 0; j < pror.size(); j++) {
Element proc = (Element) pror.get(j);
List proList = proc.getChildren("cell");
Map propc = new HashMap();
if (null != proList) {
for (int i = 0; i < proList.size(); i++) {
Element cell = (Element) proList.get(i);
propc.put(cell.getAttributeValue("name").toLowerCase(), cell.getAttributeValue("value"));
}
prop.add(propc);
}
getvoList2(proc,in);//-----------
}
}
}
} catch (Exception e) {
throw new CommandException("XML报文解析vo有问题");
}
}
分享到:
相关推荐
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
Java中解析Xml所系jar包集合 dom4j-1.6.1.jar dom.jar jaxen-1.1.1.jar jdom-1.1.jar xercesImpl.jar
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
Java 中四种 XML 解析技术 XML 是一种广泛应用于数据存储和交换的标记语言,而 Java 是一种广泛应用于软件开发的编程语言。因此,在 Java 中解析 XML 文件是一个非常重要的任务。目前,Java 中有多种 XML 解析技术...
java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件
JAVA JAXB 解析XML嵌套子节点为字符串
java在线解析xml
企业级应用 java 解析多级xml 多么复杂的都可以, 一个类,一个jar 包,非常实用,希望大家顶起..
Java解析xml所需jar包
java Stax 解析xml
JAVA 解析xml多种方法 JAVA 解析xml多种方法 JAVA 解析xml多种方法 JAVA 解析xml多种方法 JAVA 解析xml多种方法 JAVA 解析xml多种方法 JAVA 解析xml多种方法
java解析xml字符串,添加属性,更新属性等
java通用解析XML工具类
jdom解析xml
java程序解析xml的例子
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
java dom解析xml <?xml version="1.0" encoding="UTF-8"?> <Head> <FileVersion>010000</FileVersion> <FileLength>00000CC3</FileLength> <FileTime>20100629173405</FileTime> <KeyIndex>1...