zoukankan      html  css  js  c++  java
  • jaxb解析xml

    import java.io.InputStream;
    
    import javax.xml.stream.XMLInputFactory;
    import javax.xml.stream.XMLStreamConstants;
    import javax.xml.stream.XMLStreamReader;
    
    
    
        private CancleInOrOutProxy xmlParseForCancle(String xmlStr) throws Exception {
            InputStream is =  new ByteArrayInputStream(xmlStr.getBytes("UTF-8"));
            CancleInOrOutProxy cancleProxy = new CancleInOrOutProxy();
            InNoticeKey inKey = new InNoticeKey();
            ExtCancelInNo extCancelInNo = new ExtCancelInNo();
            XMLInputFactory factory = XMLInputFactory.newInstance();
            XMLStreamReader reader = factory.createXMLStreamReader(is);
            String eleNameStart = "";
            String eleNameEnd = "";
            while (reader.hasNext()) {
                int type = reader.next();
                switch (type) {
                    case XMLStreamConstants.START_ELEMENT :
                        eleNameStart = reader.getName().getLocalPart();
                        if ("warehouseCode".equalsIgnoreCase(eleNameStart)) {
                            inKey.setWarehouseID(reader.getElementText());
                        } else if ("ownerCode".equalsIgnoreCase(eleNameStart)) {
                            inKey.setCustomerID(reader.getElementText());
                        } else if ("orderCode".equalsIgnoreCase(eleNameStart)) {
                            extCancelInNo.setInhOwnerNo(reader.getElementText());
                        } else if ("orderId".equalsIgnoreCase(eleNameStart)) {
                            extCancelInNo.setInOrOutNoticeNo(reader.getElementText());
                        } else if ("orderType".equalsIgnoreCase(eleNameStart)) {
                            extCancelInNo.setInhTxType(reader.getElementText());
                        } else if ("cancelReason".equalsIgnoreCase(eleNameStart)) {
                            extCancelInNo.setReason(reader.getElementText());
                        }
                        break;
                    case XMLStreamConstants.END_ELEMENT :
                        eleNameEnd = reader.getName().getLocalPart();
                        if ("request".equalsIgnoreCase(eleNameEnd)) {
                            cancleProxy.setInNoticeKey(inKey);
                            cancleProxy.setExtCancelInNo(extCancelInNo);
                            return cancleProxy;
                        }
                        break;
                    default :
                        break;
                }
            }
            return null;
        }
    <request> 
      <warehouseCode>wms_test_20150908</warehouseCode>
      <ownerCode>customer_0908</ownerCode>  
      <orderCode>201612300925</orderCode>  
      <orderType>B2BCK</orderType>
      <cancelReason>取消原因</cancelReason> 
    </request>
  • 相关阅读:
    写一个通用的事件侦听器函数
    基于LuckySheet在线表格的Excel下载功能开发
    node项目中npm 第三方包引用规则
    js 本地保存 json/txt 文件
    letcood 算法题 -- 两数相加
    ES6新增语法总结
    关于Promise,你必须知道的几点。
    Promise 基础
    学习网页收藏
    android Listview每一个item添加点击事件
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/6513631.html
Copyright © 2011-2022 走看看