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>
  • 相关阅读:
    UML类图的关系
    软工视频总结
    面向对象——(1)概述
    软件工程——整体把握
    白盒测试中的逻辑覆盖
    机房收费调试问题(二)
    机房收费调试问题(一)
    如何将ER图转换成关系模式集
    机房收费之感想与收获
    【linux】U盘安装启动出现press the enter key to begin the installation process 就不动弹了
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/6513631.html
Copyright © 2011-2022 走看看