zoukankan      html  css  js  c++  java
  • Dom解析

     1 /**功能说明 报文解析
     2  * @param 
     3  * @author 
     4  * @since 
     5  */
     6 package com.mall.common;
     7 
     8 import java.io.IOException;
     9 import java.io.StringReader;
    10 import java.util.List;
    11 
    12 import org.jdom.Document;
    13 import org.jdom.Element;
    14 import org.jdom.JDOMException;
    15 import org.jdom.Namespace;
    16 import org.jdom.input.SAXBuilder;
    17 import org.xml.sax.InputSource;
    18 
    19 
    20 public class DuXMLDoc {
    21     @SuppressWarnings("unchecked")
    22     public List xmlElements(String xmlDoc) {
    23         //创建一个新的字符串
    24         StringReader read = new StringReader(xmlDoc);
    25         //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
    26         InputSource source = new InputSource(read);
    27         //创建一个新的SAXBuilder
    28         SAXBuilder sb = new SAXBuilder();
    29         try {
    30             //通过输入源构造一个Document
    31             Document doc = sb.build(source);
    32             //取的根元素
    33             Element root = doc.getRootElement();
    34             System.out.println("根元素的名称:"+root.getName());//输出根元素的名称(测试)
    35             //得到根元素所有子元素的集合
    36             List jiedian = root.getChildren();
    37             //获得XML中的命名空间(XML中未定义可不写)
    38             Namespace ns = root.getNamespace();
    39             Element et = null;
    40             for(int i=0;i<jiedian.size();i++){
    41                 et = (Element) jiedian.get(i);//循环依次得到子元素
    42                 /**//*
    43                  * 无命名空间定义时
    44                  * et.getChild("users_id").getText();
    45                  * et.getChild("users_address",ns).getText()
    46                  */
    47                 System.out.println(et.getChild("users_id",ns).getText());
    48                 System.out.println(et.getChild("users_address",ns).getText());
    49             }
    50             /**//*
    51              * 如要取<row>下的子元素的名称
    52              */
    53             et = (Element) jiedian.get(0);
    54             List zjiedian = et.getChildren();
    55             for(int j=0;j<zjiedian.size();j++){
    56                 Element xet = (Element) zjiedian.get(j);
    57                 System.out.println(xet.getName());
    58             }
    59         } catch (JDOMException e) {
    60             // TODO 自动生成 catch 块
    61             e.printStackTrace();
    62         } catch (IOException e) {
    63             // TODO 自动生成 catch 块
    64             e.printStackTrace();
    65         }
    66         return null;
    67     }
    68      public static void main(String[] args){
    69             DuXMLDoc doc = new DuXMLDoc();
    70             String xml = "<?xml version="1.0" encoding="gb2312"?>"+
    71             "<Result xmlns="http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out">"+
    72                "<row resultcount="1">"+
    73                   "<users_id>1001     </users_id>"+
    74                   "<users_name>wangwei   </users_name>"+
    75                   "<users_group>80        </users_group>"+
    76                   "<users_address>1001号   </users_address>"+
    77                "</row>"+
    78                "<row resultcount="1">"+
    79                   "<users_id>1002     </users_id>"+
    80                   "<users_name>wangwei   </users_name>"+
    81                   "<users_group>80        </users_group>"+
    82                   "<users_address>1002号   </users_address>"+
    83                "</row>"+
    84             "</Result>";
    85             doc.xmlElements(xml);
    86         }
    87 
    88 }
  • 相关阅读:
    SqlServer 查看数据库中所有存储过程
    SqlServer 查看数据库中所有视图
    SqlServer 查询表的详细信息
    SqlServer 遍历修改字段长度
    net core 操作Redis
    Tuning SharePoint Workflow Engine
    Open With Explorer
    Download language packs for SharePoint 2013
    Change Maximum Size For SharePoint List Template when Saving
    Six ways to store settings in SharePoint
  • 原文地址:https://www.cnblogs.com/lixin890808/p/3904650.html
Copyright © 2011-2022 走看看