`
BabyDuncan
  • 浏览: 584180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

把一个xml节点信息递归的存到map中的方法

    博客分类:
  • J2SE
阅读更多
jar包自己加!!
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class XmlUtil {
	public static Map<String, Object> doInfoXML(String infoXML) {
		Document document;
		Map<String, Object> map = new HashMap<String, Object>();
		try {
			document = DocumentHelper.parseText(infoXML);
			Element root = document.getRootElement();
			Iterator it = root.elements().iterator();
			while (it.hasNext()) {
				Element info = (Element) it.next();
				map.put(info.getName(), info.getText());
				Iterator itc = info.elements().iterator();
				while (itc.hasNext()) {
					Element infoc = (Element) itc.next();
					map.put(infoc.getName(), infoc.getText());
				}
			}
		} catch (DocumentException e1) {
			e1.printStackTrace();
		}
		return map;
	}

}

分享到:
评论

相关推荐

    java一键xml转map,一键map转xml工具类

    `EasyXmlUtil`中应该有一个对应的`mapToXml`方法,接收一个Map对象,返回生成的XML字符串。 在`EasyXmlUtil`类中,这两个方法的实现可能会使用递归处理Map的层级结构,以确保复杂的嵌套Map也能正确地转换成XML。...

    java xml和map互转

    在Java中,我们可以创建一个工具类来实现XML到Map的转换以及Map到XML的转换。 首先,我们需要在项目中引入DOM4J库。如果你使用Maven,可以在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;dom4j ...

    jaxb xml 转map

    3. 创建Map:创建一个`java.util.HashMap`或其他类型的Map,用来存储XML节点的键值对。 4. 将节点添加到Map:遍历过程中,将节点名称作为键,节点内容作为值放入Map中。如果有属性,可以将属性名和属性值作为二级...

    Java xml 转 map

    在描述中提到的“递归 XML 转 MAP”,是指XML文档可能存在嵌套结构,递归方法是处理这种结构的有效手段。递归意味着函数调用自身来处理XML元素的子节点,直到所有节点都被遍历并转换为Map结构。 以下是一个简化的...

    使用tiny解析器解析xml文档,实现输出文档结构和每个节点的数目。

    `FirstChildElement()`和`NextSiblingElement()`方法用于移动到下一个兄弟节点,而`FirstChild()`和`FirstChild()`则用于访问子节点。 ```cpp void printNode(const TiXmlElement* element, int depth) { // 输出...

    xml解析为java集合对象.pdf

    该方法用于遍历XML文档的每一个节点,并根据节点是否含有子节点决定是将其添加到List中还是直接放入Map中。如果当前元素具有子元素,会调用doGetElementListMapData方法,将子元素的Map添加到List中;如果没有子元素...

    java转换xml、list、map和json.pdf

    每个`node`元素由List中的一个对象表示,可能需要递归处理嵌套的List或Map。 4. **JSON到Map/List转换**: - `json-lib`库提供了将JSON字符串解析为Java对象的功能。`JSONSerializer.toBean()`方法可以将JSON字符...

    dom4j自动解释xml文件

    这个函数会把XML元素的属性值添加到Map中,并根据子元素是否有自己的子元素,决定是否将它们的内容放入一个嵌套的Map,从而形成一个层次结构,这正是动态bean或Map映射的关键。 为了将解析结果映射到动态bean,你...

    Java 把json对象转成map键值对的方法

    通过递归调用`JsonToMap`方法,遍历了JSON对象的所有键值对,并把非JSON对象的叶节点值添加到了结果Map中。 `JsonToMap`是一个私有静态方法,它接受一个`Stack&lt;JSONObject&gt;`和一个`Map,Object&gt;`作为参数,通过递归...

    Android 解析xml文件

    1. **DOM解析器**:Document Object Model(DOM)解析器将整个XML文件加载到内存中,形成一个树形结构,便于对整个文档进行遍历。但是,对于大型XML文件,DOM解析器可能会消耗大量内存。 2. **SAX解析器**:Simple ...

    xml c++解析类

    - 解析XML文档:首先,`XmlDoc`类可能有一个构造函数,接受XML文件路径,然后调用`MarkupSTL`类的函数进行解析。 - 遍历元素:通过递归或迭代的方式遍历XML树,访问每个元素的属性和子元素。 - 数据提取:`XmlDoc...

    swift-SwiftyXMLParserSwift中的简单XML解析器

    在 Swift 开发中,XML 数据处理通常是一个繁琐的任务,因为标准库并不直接支持 XML 解析。SwiftyXMLParser 库的出现弥补了这一空白,提供了友好的 API,使得处理XML就像处理JSON那样轻松。 使用 SwiftyXMLParser,...

    xml文件读取

    你可以创建一个类来表示XML节点,包括标签名、属性和子节点。利用STL的`std::map`或`std::unordered_map`来存储属性,用`std::vector`或`std::list`存储子节点。 5. **递归解析**:为了处理嵌套的节点,你需要设计...

    解析xml文件

    8. 将`Map`对象和`List`对象添加到主列表`list`中,这样就形成了一个表示XML文档结构的数据结构。 此外,还可以使用SAX(Simple API for XML)或StAX(Streaming API for XML)解析器,它们更加轻量级,适用于处理...

    jython处理xml

    # 这里是一个递归函数,用于解析XML元素到字典 pass ``` `parse_element`函数会遍历XML元素,对于每个元素,将标签名作为键,属性和文本作为值,如果元素有子元素,则子元素会被转换为嵌套的字典结构。 接下来,...

    Android应用源码ListView实现的目录树结构源码.zip

    在这个例子中,Adapter需要能够处理递归的树节点,因为一个节点可能包含子节点,而子节点也可能有它们自己的子节点。自定义Adapter的关键在于为每个节点创建一个View,并正确地处理展开/折叠节点的逻辑。 1. **...

    【list转树结构】相关附件

    每个节点可以有零个或多个子节点,除了根节点没有父节点外,其他节点都只有一个父节点。树的深度代表了节点的层级,叶子节点是没有子节点的节点,而内部节点则至少有一个子节点。 2. **列表数据结构**:在许多编程...

    XmlTest.zip

    在"XmlTest"程序中,遍历这个DOM树是关键步骤,它通过递归或者其他循环方式访问每一个节点,获取其键(标签名)和值,并将这些信息存入容器(如std::vector或std::map)中。 TinyXML库提供了几个主要的类,如`...

    rapidxml读写例子

    在处理XML节点列表时,vector是一个合适的选择,可以轻松地管理和操作序列化的数据。 8. **VS2013开发环境**:Visual Studio 2013是微软的一款集成开发环境,支持C++编程,内置了对MFC的支持,方便开发者构建MFC...

    DWR.xml配置文件说明书(含源码)

    任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"&gt; 整个配置文件的...

Global site tag (gtag.js) - Google Analytics