现在的位置: 首页 > 综合 > 正文

xml解析

2013年09月11日 ⁄ 综合 ⁄ 共 2396字 ⁄ 字号 评论关闭

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;
  }

抱歉!评论已关闭.