`
shendixiong
  • 浏览: 398671 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

解析 xml 字符串

 
阅读更多
  1. package demo;   
  2.   
  3. import java.util.Iterator;   
  4. import java.util.List;   
  5.   
  6. import org.dom4j.Document;   
  7. import org.dom4j.DocumentException;   
  8. import org.dom4j.DocumentHelper;   
  9. import org.dom4j.Element;   
  10.   
  11. public class UtilXml {   
  12.   
  13.     public static void main(String[] args) {   
  14.   
  15.         String v_strXML = "<scheme><normal><time><start>08:30</start><end>12:00</end></time><time><start>13:30</start><end>17:30</end></time></normal><weekend><saturday><rest>1</rest></saturday><sunday><rest>1</rest></sunday></weekend><special><workday><date>2009-02-27</date></workday><holiday><date>2009-04-22</date></holiday><holiday><date>2009-04-26</date></holiday><workday><date>2009-04-28</date><time><start>10:00</start><end>12:00</end></time></workday><holiday><date>2009-04-29</date></holiday><workday><date>2009-04-30</date><time><start>10:30</start><end>17:00</end></time></workday></special></scheme>";   
  16.   
  17.         Document doc = null;   
  18.         try {   
  19.             doc = DocumentHelper.parseText(v_strXML);   
  20.         } catch (DocumentException e2) {   
  21.             // TODO 自动生成 catch 块   
  22.             e2.printStackTrace();   
  23.         }   
  24.         Element root = doc.getRootElement();// 指向根节点   
  25.   
  26.         // normal解析   
  27.         Element normal = root.element("normal");   
  28.         try {   
  29.             List lstTime = normal.elements("time");// 所有的Item节点   
  30.             for (int i = 0; i < lstTime.size(); i++) {   
  31.                 Element etime = (Element) lstTime.get(i);   
  32.                 Element start = etime.element("start");   
  33.                 Element end = etime.element("end");   
  34.                 System.out   
  35.                         .println("start.getTextTrim()=" + start.getTextTrim());   
  36.                 System.out.println("end.getTextTrim()=" + end.getTextTrim());   
  37.             }   
  38.             // Iterator Itr = lstTime.iterator();   
  39.             // while (Itr.hasNext()) {   
  40.             // Element etime = (Element) Itr.next();// 一个Item节点   
  41.             // Element start = etime.element("start");   
  42.             // Element end = etime.element("end");   
  43.             // System.out.println(start.getTextTrim());   
  44.             // System.out.println(end.getTextTrim());   
  45.             // }   
  46.         } catch (Exception e) {   
  47.             e.printStackTrace();   
  48.         }   
  49.   
  50.         // weekend解析   
  51.         Element weekend = root.element("weekend");   
  52.         try {   
  53.             // 周6   
  54.             List lstSaturday = weekend.elements("saturday");// 所有的Item节点   
  55.             Iterator Itr1 = lstSaturday.iterator();   
  56.             while (Itr1.hasNext()) {   
  57.                 Element eSaturday = (Element) Itr1.next();// 一个Item节点   
  58.                 Element rest = eSaturday.element("rest");   
  59.                 System.out.println("周六休息" + rest.getTextTrim());   
  60.             }   
  61.   
  62.             // 周日   
  63.             List lstSunday = weekend.elements("sunday");// 所有的Item节点   
  64.             Iterator Itr2 = lstSunday.iterator();   
  65.             while (Itr2.hasNext()) {   
  66.                 Element eSunday = (Element) Itr2.next();// 一个Item节点   
  67.                 Element rest = eSunday.element("rest");   
  68.                 System.out.println("周日休息" + rest.getTextTrim());   
  69.             }   
  70.         } catch (Exception e) {   
  71.             e.printStackTrace();   
  72.         }   
  73.   
  74.         // special解析   
  75.         Element special = root.element("special");   
  76.         try {   
  77.             // 特殊工作日workday   
  78.             List lstWorkday = special.elements("workday");// 所有的Item节点   
  79.             Iterator Itr1 = lstWorkday.iterator();   
  80.             while (Itr1.hasNext()) {   
  81.                 Element eWorkday = (Element) Itr1.next();// 一个Item节点   
  82.                 Element date = eWorkday.element("date");   
  83.                 System.out.println("特殊工作日===" + date.getText());   
  84.                 List time = eWorkday.elements("time");   
  85.                 Iterator Itr2 = time.iterator();   
  86.                 while (Itr2.hasNext()) {   
  87.                     Element etime = (Element) Itr2.next();   
  88.                     Element start = etime.element("start");   
  89.                     Element end = etime.element("end");   
  90.                     System.out.println("特殊开始时间" + start.getTextTrim());   
  91.                     System.out.println("特殊结束时间" + end.getTextTrim());   
  92.                 }   
  93.             }   
  94.   
  95.             // 节假日holiday   
  96.             List lstHoliday = special.elements("holiday");// 所有的Item节点   
  97.             Iterator Itr3 = lstHoliday.iterator();   
  98.             while (Itr3.hasNext()) {   
  99.                 Element eHoliday = (Element) Itr3.next();// 一个Item节点   
  100.                 Element date = eHoliday.element("date");   
  101.                 System.out.println("节假日===" + date.getTextTrim());   
  102.             }   
  103.   
  104.         } catch (Exception e) {   
  105.             e.printStackTrace();   
  106.         }   
  107.     }   
  108. }  

要导入 建好项目后导入dom4j-1.6.1.jar
! 此文是从 http://chicony.iteye.com/blog/456442!copy过来

分享到:
评论

相关推荐

    java解析xml字符串

    ### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...

    纯C语言解析xml字符串

    纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法,并有注解 ...

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

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

    dom4j解析xml字符串

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

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

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

    dom4j解析xml字符串实例

    dom4j解析xml字符串实例

    Jdom 生成和解析XML字符串

    ### JDOM 生成和解析 XML 字符串 #### 一、概述 JDOM(Java Document Object Model)是一种基于 Java 的 API,用于处理 XML 文档。它提供了一种简单且直观的方式来构建、修改以及读取 XML 文件。JDOM 主要有两个...

    jdom解析xml字符串

    NULL 博文链接:https://songlitao.iteye.com/blog/2257789

    widget加载和解析xml 字符串实例

    ### Widget加载和解析XML字符串实例 #### 背景介绍 在现代Web开发中,Widget(小部件)作为用户界面中的一个独立组件被广泛应用。它能够实现特定功能,并且可以被轻松集成到网页中。当Widget与服务器进行交互时,...

    android SAX解析String类型 XML 字符串

    接着,我们需要创建一个`XMLReader`对象并设置我们的处理器,然后使用`parse`方法解析XML字符串: ```java InputSource inputSource = new InputSource(new StringReader(xmlString)); XMLReader xmlReader = ...

    xml格式的字符串转换成List

    1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document Object Model)、SAX(Simple API for XML)或者JAXB(Java Architecture for XML Binding)。在.NET环境中,有...

    Android SAX 方式解析XML 字符串.docx

    本示例中,我们看到如何使用SAX解析XML字符串。 首先,我们来看主类`ParsingXML`。在这个类中,它继承自`Activity`,并包含一个用于显示结果的`TextView`。在`onCreate`方法中,首先创建了一个XML字符串`xml`,然后...

    纯C语言解析XML字符串含实例

    王柱石wzs 纯C语言解析xml字符串,有实例,保证可用,含makefile xmlparse.c xmlparse.h testxml.c 目录:/export/home/chcard/testxml 日志:/export/home/chcard/log testxml.c 是一个测试用例,包含了常用的方法...

    xml字符串解析

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

    xml解析和生成字符串、文档的实例

    首先,让我们从解析XML字符串开始。在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来实现这一目标。以下是一个简单的示例: ```java import javax.xml.parsers....

    JS读取XML字符串形成树

    在JavaScript(JS)中,处理XML数据通常涉及到解析XML字符串并将其转换为可操作的数据结构,如树形结构。这在处理大型XML文档时尤为重要,因为数据量大时,高效地读取和组织数据可以提高应用性能。本篇文章将深入...

    nodejs实现解析xml字符串为对象的方法示例

    主要介绍了nodejs实现解析xml字符串为对象的方法,涉及nodejs针对xml格式字符串的解析与转换相关操作技巧,需要的朋友可以参考下

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

    js的XML解析器 可以解析XMl文件和XML字符串

    例如,`DOMParser`对象可用于解析XML字符串: ```javascript var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlString, "text/xml"); ``` - **ActiveXObject(IE专属)**:在旧版的...

    php遍历解析xml字符串的方法

    本实例将详细介绍如何使用PHP的SimpleXMLElement类来遍历和解析XML字符串。 首先,XML(eXtensible Markup Language)是一种用于标记数据的语言,它允许自定义标签来描述数据结构。XML字符串如下: ```xml &lt;?xml ...

Global site tag (gtag.js) - Google Analytics