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有问题");
}
}
分享到:
相关推荐
在这个场景中,提到的两个关键库是`dom4j`和`jdom`,它们都是Java解析XML的重要工具。 **dom4j** dom4j是一个非常灵活且功能丰富的Java XML API,它提供了对DOM(文档对象模型),SAX(简单API for XML)和JDOM的...
为了在Java中解析XML文档,开发者通常需要依赖特定的库或jar包。以下是对标题和描述中提到的Java XML解析jar包的详细解释: 1. **dom4j-1.6.1.jar**: DOM4J是一个非常灵活的Java XML API,它提供了对DOM、SAX和...
本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:DOM(文档对象模型)和SAX(简单API for XML)。DOM解析器会将整个XML文件加载到内存中,形成一个树形...
java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...
java中解析XML文件的工具类
java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...
总结,Java解析XML的方式多样,每种都有其适用场景。理解这些方法的原理和优缺点,能够帮助开发者根据项目需求选择最佳实践。在实际工作中,可以结合使用这些解析技术,以实现更高效、更安全的XML处理。
本篇文章将深入探讨如何在Java中解析XML,以帮助你理解和实践相关知识。 一、DOM解析器 DOM(Document Object Model)解析器是Java中的一种常用方法,它将整个XML文档加载到内存中,形成一个树形结构。以下是一个...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
总结起来,Java解析XML时,DOM4J是一个强大而灵活的工具。它简化了XML文档的处理,允许开发者高效地读取、创建和修改XML内容。通过理解和应用DOM4J,你可以更好地利用XML在各种场景下的数据交换功能,如配置文件、...
使用JAXB解析XML时,我们首先需要创建一个Java类模型,这个模型反映了XML文档的结构。每个XML元素对应一个Java类,类的属性对应元素的属性或子元素。例如,如果XML中有以下结构: ```xml <text>Some text here ...
本篇文章将详细讲解如何使用Java解析XML文件,并修改其中的特定路径值。 首先,我们需要了解Java中解析XML的两个主要库:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
在IT行业中,调用Web服务并解析XML是常见的任务,特别是在Java开发中。Web服务,尤其是基于SOAP(Simple Object Access Protocol)的,提供了一种标准的跨平台、跨语言的数据交换方式。本教程将深入讲解如何在Java...
描述中提到“java解析xml时需要导入源文件都包含在这里”,这暗示了压缩包可能包含了解析XML所需的Java库的JAR文件。通常,解析XML可能需要如`jaxp-1.3.jar`(Java API for XML Processing)、`xml-apis.jar`(XML ...
本教程将详细讲解如何在Java中解析XML文件,获取节点内容,且无需引入额外的jar包,如DOM、SAX或StAX解析器。 首先,Java标准库提供了`java.io`和`javax.xml.parsers`包,它们包含了基本的XML处理能力。这里我们将...
总结,Android和Java解析XML文件时,可以根据需求选择DOM、SAX或PullParser解析方法。DOM适合小文件,SAX适合大文件,PullParser则在Android环境下更适用。理解这些解析方式的工作原理并能灵活运用,将有助于提升你...