• 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>
  • 相关阅读:
    Redis 学习(二十)服务器
    Redis 学习(十八)连接
    Redis学习(十七) 脚本
    Redis学习(十六)事务
    Redis学习(十四) 发布订阅
    python中如何使用requests模块下载文件并获取进度提示?
    Python实例获取mp3文件的tag信息
    python 视频处理,提取视频相关帧,读取Excel
    爬虫数据采集技术趋势-智能化解析
    Python中文转拼音代码(支持全拼和首字母缩写)
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/6513631.html
Copyright © 2020-2023  润新知