现在的位置: 首页 > 综合 > 正文

JOM4J解析XML数据示例

2018年08月12日 ⁄ 综合 ⁄ 共 2383字 ⁄ 字号 评论关闭
  1. import java.util.List;
  2. import org.dom4j.Document;
  3. import org.dom4j.DocumentException;
  4. import org.dom4j.DocumentHelper;
  5. import org.dom4j.Element;
  6. /**
  7.  * XML数据解析类
  8.  * @author 李文锴
  9.  */
  10. public class XMLOperate {
  11.     /**
  12.      * 解析XML数据
  13.      */
  14.     public static void main(String[] args) {
  15.         String str = "<?xml version=/"1.0/" encoding=/"UTF-8/"?>" +
  16.                 "<orders>" +
  17.                 "<order>" +
  18.                 "<customer><no>LS-SM-AM-001</no><name>沃尔玛百货有限公司(武汉)</name></customer>" +
  19.                 "<products><product><name>天钻星Ⅱ挂机</name><type>KFR-26GW/DY-W(E1)</type><quantity>5</quantity></product></products>" +
  20.                 "<address><address-start>长沙市五一大道远达物流公司仓库</address-start><address-end>武汉市天马星路沃尔玛百货有限公司</address-end></address>" +
  21.                 "<date>2008-11-30</date>" +
  22.                 "</order>" +
  23.                 "<order>" +
  24.                 "<customer><no>LS-SM-AM-001</no><name>沃尔玛百货有限公司(武汉)</name></customer>" +
  25.                 "<products><product><name>天钻星Ⅱ挂机</name><type>KFR-26GW/DY-W(E1)</type><quantity>5</quantity></product></products>" +
  26.                 "<address><address-start>长沙市五一大道远达物流公司仓库</address-start><address-end>武汉市天马星路沃尔玛百货有限公司</address-end></address>" +
  27.                 "<date>2008-11-30</date>" +
  28.                 "</order>" +
  29.                 "</orders>";
  30.         Document doc = null;
  31.         try {
  32.             doc = DocumentHelper.parseText(str);
  33.         } catch (DocumentException ex) {
  34.             ex.printStackTrace();
  35.         }
  36.         //指向根节点
  37.         Element root = doc.getRootElement();
  38.         List<Element> orders = root.elements("order");
  39.         for (Element order : orders) {
  40.             System.out.println(order.element("customer").elementText("no"));
  41.             System.out.println(order.element("customer").elementText("name"));
  42.             List<Element> products = order.element("products").elements("product");
  43.             for (Element p : products) {
  44.                 System.out.println("----" + p.elementText("name"));
  45.                 System.out.println("----" + p.elementText("type"));
  46.                 System.out.println("----" + p.elementText("quantity"));
  47.             }
  48.             System.out.println(order.element("address").elementText("address-start"));
  49.             System.out.println(order.element("address").elementText("address-end"));
  50.             System.out.println(order.elementTextTrim("date"));
  51.             System.out.println("");
  52.         }
  53.     }
  54. }

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.