package October;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class DOMTest {
public static void main(String[] args) {
String v_strXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><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>";
Document doc = null;
try {
doc = DocumentHelper.parseText(v_strXML);
} catch (DocumentException e2) {
e2.printStackTrace();
}
Element root = doc.getRootElement();// 指向根节点
// normal解析
Element normal = root.element("normal");
try {
List lstTime = normal.elements("time");// 所有的Item节点
for (int i = 0; i < lstTime.size(); i++) {
Element etime = (Element) lstTime.get(i);
Element start = etime.element("start");
Element end = etime.element("end");
System.out
.println("start.getTextTrim()=" + start.getTextTrim());
System.out.println("end.getTextTrim()=" + end.getTextTrim());
}
} catch (Exception e) {
e.printStackTrace();
}
// weekend解析
Element weekend = root.element("weekend");
try {
// 周6
List lstSaturday = weekend.elements("saturday");// 所有的Item节点
Iterator Itr1 = lstSaturday.iterator();
while (Itr1.hasNext()) {
Element eSaturday = (Element) Itr1.next();// 一个Item节点
Element rest = eSaturday.element("rest");
System.out.println("周六休息" + rest.getTextTrim());
}
// 周日
List lstSunday = weekend.elements("sunday");// 所有的Item节点
Iterator Itr2 = lstSunday.iterator();
while (Itr2.hasNext()) {
Element eSunday = (Element) Itr2.next();// 一个Item节点
Element rest = eSunday.element("rest");
System.out.println("周日休息" + rest.getTextTrim());
}
} catch (Exception e) {
e.printStackTrace();
}
// special解析
Element special = root.element("special");
try {
// 特殊工作日workday
List lstWorkday = special.elements("workday");// 所有的Item节点
Iterator Itr1 = lstWorkday.iterator();
while (Itr1.hasNext()) {
Element eWorkday = (Element) Itr1.next();// 一个Item节点
Element date = eWorkday.element("date");
System.out.println("特殊工作日===" + date.getText());
List time = eWorkday.elements("time");
Iterator Itr2 = time.iterator();
while (Itr2.hasNext()) {
Element etime = (Element) Itr2.next();
Element start = etime.element("start");
Element end = etime.element("end");
System.out.println("特殊开始时间" + start.getTextTrim());
System.out.println("特殊结束时间" + end.getTextTrim());
}
}
// 节假日holiday
List lstHoliday = special.elements("holiday");// 所有的Item节点
Iterator Itr3 = lstHoliday.iterator();
while (Itr3.hasNext()) {
Element eHoliday = (Element) Itr3.next();// 一个Item节点
Element date = eHoliday.element("date");
System.out.println("节假日===" + date.getTextTrim());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上dom的字符串如下:
<?xml version="1.0" encoding="UTF-8"?>
<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>
本例子需要导入dom4j的包,本实例为dom4j-1.6.1.jar。
运行结果如下:
start.getTextTrim()=08:30
end.getTextTrim()=12:00
start.getTextTrim()=13:30
end.getTextTrim()=17:30
周六休息1
周日休息1
特殊工作日===2009-02-27
特殊工作日===2009-04-28
特殊开始时间10:00
特殊结束时间12:00
特殊工作日===2009-04-30
特殊开始时间10:30
特殊结束时间17:00
节假日===2009-04-22
节假日===2009-04-26
节假日===2009-04-29
以上内容摘自互联网。 感谢原作者,原谅我忘记了从哪里载的。
分享到:
相关推荐
dom4j解析字符串
dom4j解析xml字符串实例
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
利用DOM4J解析SOAP中的各个元素的值,在SOAP消息的收发中可以有一点借鉴的地方
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
Dom4j遍历解析XMLDom4j遍历解析XML
本篇文章主要是对通过dom4j解析xml字符串的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
将xml写成字符串的形式,采用dom4j进行解析,一个简单的例子
WebService在传递数据的时候只能传递字符串,当我们返回一些简单的字符串时我们可以直接返回,但是当我们想返回比如List,Map等复杂类型的数据时拼接字符串就是个很麻烦的工作,这时我们就用到了dom4j这个工具。
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中
dom4j解析节点名称和值,放入一个string类型的xml字符串输出标签对应的名称以及值的map
xml数据前后台解析;提供了两种方式:dom4j与jdom对xml文件、xml字符串的读与写操作;同时实现在前台用jquery解析xml,将数据展示在页面上,程序可以跑
解析XML文件(字符串)的两种方法,dom4j解析XML时候忽略DTD文件验证
jsoup在java代码中高效解析html字符串为dom结构,并可实现对dom结构的灵活操作,特别适合移动端返回字段为html形式的解析过滤处理
使用dom4j解析xml,可以解析xml文件,或者String型的xml字符串
三、使用dom4j解析xml文件 5 1. 构建dom4j树 5 2. 获取节点 5 3. 获取属性 6 4. 使用XPath获取节点和属性 6 四、使用dom4j修改xml文件 7 五、常用方法 8 1.Element元素API 8 2. Attribute属性API 8 2. 字符串转化 8...
该文挡中包含了用dom4j解析xml文件的方法和步骤,包括从文件中解析和从xml格式的字符串中解析
使用 dom4j 将 XML 文档解析为我自己的格式 格式: 私人字符串名称; 私有字符串值; 私人列表 childList; private Map<String> propMap = new HashMap(); 意义 将 XML 文档对象转换成这个格式对象(XmlElement...
Dom4jDemo字符串转xml,通过dom4j解析xml demo
通过dom4j解析xml文件或xml字符串,同时利用dom4j解析soap报文,解析出所需要的字段,使用的相对比较基础,有需要的可以参考一下。