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

使用dom4j解析XML字符串

阅读更多
package sides;

import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

/**
* @description 解析xml字符串
*/
public class XmlStringTest {

/**
* @description 获取将xml字符串节点
* @param xml
*/
@SuppressWarnings("unchecked")
public static void readStringXmlOut(String xml) {
Document doc = null;
try {
doc = DocumentHelper.parseText(xml); // 将字符串转为XML
Element rootElt = doc.getRootElement(); // 获取根节点
System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
String total = rootElt.elementText("total");
System.out.println("total:"+total);
Iterator iter = rootElt.elementIterator("docs"); // 获取根节点下的子节点head
// 遍历head节点
while (iter.hasNext()) {

Element recordEle = (Element) iter.next();
String docstring = recordEle.elementTextTrim("doc"); // 拿到XXX节点下的子节点XXX值
System.out.println("doc:" + docstring);

Iterator iters = recordEle.elementIterator("doc"); // 获取子节点XXX下的子节点XXX

// 遍历XXX节点下的XXX节点
while (iters.hasNext()) {

Element itemEle = (Element) iters.next();

String bizid = itemEle.elementTextTrim("bizid"); // 拿到XXX下的子节点XXX下的字节点XXX的值
String name = itemEle.elementTextTrim("name");

System.out.println("bizid:" + bizid);
System.out.println("name:" + name);
}
}
} catch (DocumentException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}

@SuppressWarnings("unchecked")
public static void main(String[] args) {

// 下面是需要解析的xml字符串例子
String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><search> <total>总记录数(检索中所有匹配的记录数量)</total>"
    +"<result_num>当前页中返回的结果数量</result_num><spend_time>检索耗费时间</spend_time>"
    +"<city >UTF-8编码的请求城市字符串</city ><addr >UTF-8 编码的请求地址字符串</addr >"
    +"<key >UTF-8编码的请求keyword 字符串</key ><docs><doc>"
    +"<bizid>加密后的商户bid</bizid><name>UTF-8编码的商户名称</name>"
    +"<tel>UTF-8 编码的商户电话</tel><addr>UTF-8编码的商户地址</addr>"
    +"<desc>UTF-8编码的商户简介</desc><dist>距离中心点的距离(-1 表示无距离,单位为公里)</dist>"
    +"<mapxy>加密的坐标,xy 用”,”分隔</mapxy><detail>进入商户详情的 url</detail>"
    +"</doc><doc>"
    +"<bizid>加密后的商户bid</bizid><name>UTF-8编码的商户名称</name>"
    +"<tel>UTF-8 编码的商户电话</tel><addr>UTF-8编码的商户地址</addr>"
    +"<desc>UTF-8编码的商户简介</desc><dist>距离中心点的距离(-1 表示无距离,单位为公里)</dist>"
    +"<mapxy>加密的坐标,xy 用”,”分隔</mapxy><detail>进入商户详情的 url</detail>"
    +"</doc></docs></search> ";

readStringXmlOut(xmlString);

}

}
分享到:
评论

相关推荐

    dom4j解析xml字符串实例

    dom4j解析xml字符串实例

    dom4j解析xml字符串

    // 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...

    使用dom4j将xml字符串转换成Bean对象

    当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...

    DOM4J 读取xml字符串

    **DOM4J 读取XML字符串** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得处理 XML 文件变得更加简单。DOM4J 的设计理念是简洁、灵活且高性能,它支持 SAX 和 DOM 解析,并提供了面向对象的接口。...

    通过dom4j解析xml字符串(示例代码)

    在本文中,我们将深入探讨如何使用DOM4J解析XML字符串,并通过示例代码来展示具体步骤。 首先,我们需要引入DOM4J库,通常在Java项目中,这可以通过Maven或Gradle依赖管理工具完成。对于Maven,可以在pom.xml文件中...

    dom4j解析字符串

    在这个实例中,我们使用dom4j的DocumentHelper类来解析XML字符串。首先,我们import dom4j的相关类,包括Document、DocumentException、DocumentHelper和Element等。然后,我们使用DocumentHelper.parseText方法来...

    dom4j 解析写入xml

    1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件

    xml字符串解析

    在Java中,我们可以使用DOM4J来解析XML字符串,以下是一个简单的步骤: 1. **导入DOM4J库**:确保项目中已经引入了DOM4J的依赖,如果没有,可以添加对应的Maven或Gradle依赖。 2. **读取XML字符串**:从文件、网络...

    dom4j 解析xml

    上述代码演示了如何使用DOM4J解析XML字符串并获取元素的文本内容。 总结来说,DOM4J是Java开发中处理XML的重要工具,无论是在解析XML文件还是处理XML字符串方面,都能提供高效且易用的解决方案。通过学习和掌握DOM...

    DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式

    在生成XML字符串时,DOM4J提供了简洁的API来构建和输出XML文档。 4. JDOM JDOM是另一个Java的XML处理库,它专注于提供纯Java解决方案。JDOM提供了一个基于树的API,类似于DOM,但设计更简洁,易于使用。与DOM相比,...

    PB解析XML字符串 把XML 变为数据窗口

    标题中的“PB解析XML字符串 把XML 变为数据窗口”指的是使用PowerBuilder(PB)这一编程工具,处理XML格式的数据,并将其转换成数据窗口对象的过程。数据窗口是PowerBuilder中的一个核心组件,用于显示、编辑和管理...

    dom4j解析XML所需要的jar包

    这段代码首先使用`DocumentHelper.parseText`方法解析XML字符串,然后获取根元素并打印其名称,最后找到名为`element`的子元素并输出其内容。 总的来说,DOM4J结合Jaxen库为Java开发者提供了强大且灵活的XML处理...

    用dom4j解析xml文件

    本篇文章将深入探讨如何使用DOM4J来解析XML文件,以及通过示例代码来展示其基本操作。 首先,我们需要理解DOM4J的工作原理。DOM4J采用的是DOM(Document Object Model)模型,它将整个XML文档加载到内存中形成一棵...

    dom4j解析xml和soap报文

    2. **解析XML字符串**: 当XML数据作为字符串存在时,可以使用`SAXReader`类解析: ```java SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(xmlString)); ``` 之后的...

    C++解析xml文档或者xml字符串方法

    在`RealPlay`中,使用`loadXML`方法解析XML字符串,而不是`load`方法,因为`loadXML`用于解析内存中的XML字符串。 总结来说,C++通过MSXML库提供了解析XML文档和XML字符串的功能。这使得在C++和不支持指针的语言...

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    在这个场景中,我们关注的是如何使用DOM4J以String的形式读取XML内容,然后将String的值赋给XML中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...

    dom4j-jar与dom4j解析xml文档介绍

    "dom4j-jar与dom4j解析xml文档介绍" 这个标题告诉我们,我们将探讨的是一个关于dom4j库的jar文件,以及如何使用这个库来解析XML文档。dom4j是一个Java库,它提供了丰富的API用于处理XML、HTML和DOM文档。这里的"jar...

    DOM4J解析XML数据

    这个示例展示了如何使用DOM4J解析XML文件,访问和遍历元素,使用XPath查询,以及添加新元素并序列化到新的XML文件。 总之,DOM4J是Java开发中处理XML文档的利器,它简化了XML的解析、操作和生成过程,使得开发者能...

Global site tag (gtag.js) - Google Analytics