String dataUrl = url + barcode;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(dataUrl);
httpGet.setHeader("accept", "application/xml");
httpGet.setHeader("Content-Type","application/x-www-form-urlencoded");
HttpResponse response;
String xml = "";
HttpEntity entity = null;
try {
response = httpclient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
// 返回服务器响应
entity = response.getEntity();
xml = EntityUtils.toString(response.getEntity(),"UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (entity != null) {
httpGet.releaseConnection();
}
}
try {
ByteArrayInputStream stream = new ByteArrayInputStream(
xml.getBytes("UTF-8"));
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document doc = builder.parse(stream);
NodeList allNode = doc.getFirstChild().getChildNodes();
OrderProductBarcode opbarcode = new OrderProductBarcode();
opbarcode.setBarcode(allNode.item(0).getTextContent());
Order order = new Order();
NodeList orderNode = allNode.item(1).getChildNodes();
order.setId(orderNode.item(0).getTextContent());
order.setOrderNo(orderNode.item(1).getTextContent());
order.setOrderDate(orderNode.item(2).getTextContent());
NodeList customerNode = orderNode.item(3).getChildNodes();
Customer customer = new Customer();
customer.setId(customerNode.item(0).getTextContent());
customer.setSpecialtyNo(customerNode.item(1).getTextContent());
customer.setName(customerNode.item(2).getTextContent());
order.setCustomer(customer);
Product product = new Product();
if (allNode.getLength() >= 3) {
NodeList productNode = allNode.item(2).getChildNodes();
product.setId(productNode.item(0).getTextContent());
product.setCode(productNode.item(1).getTextContent());
product.setName(productNode.item(2).getTextContent());
product.setProductBarcode(productNode.item(3).getTextContent());
product.setProductType(productNode.item(4).getTextContent());
if(productNode.getLength()>=6){
product.setProductType(productNode.item(4).getTextContent());
product.setCompanyName(productNode.item(5).getTextContent());
}else{
product.setCompanyName(productNode.item(4).getTextContent());
}
}
opbarcode.setOrder(order);
opbarcode.setProduct(product);
return opbarcode;
} catch (Exception e) {
return null;
}