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>