解析 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过来

你可能感兴趣的:(xml)