/** * 定时从在线商品中同步数据下来,行成在线数据 * * @param xml * @return * @throws DocumentException */ public static List<TradingListingData> getItemListElememt(String xml, String ebayAccount) throws Exception { List li = new ArrayList(); Document document = formatStr2Doc(xml); Element rootElt = document.getRootElement(); Element recommend = rootElt.element("ItemArray"); Iterator<Element> iter = recommend.elementIterator("Item"); String listType = ""; while (iter.hasNext()) { TradingListingData item = new TradingListingData(); Element element = iter.next(); item.setTitle(StringEscapeUtils.escapeXml(element.elementText("Title"))); item.setItemId(element.elementText("ItemID")); item.setSite(element.elementText("Site")); item.setSku(element.elementText("SKU")); item.setEbayAccount(ebayAccount); if ("FixedPriceItem".equals(element.elementText("ListingType"))) { if (element.element("Variations") != null) { listType = "2"; } else { listType = element.elementText("ListingType"); } } else { listType = element.elementText("ListingType"); } item.setListingType(listType); item.setPrice( Double.parseDouble(element.element("SellingStatus").elementText("CurrentPrice"))); Element shippingdes = element.element("ShippingDetails"); if (shippingdes != null) { List<Element> shippingit = shippingdes.elements("ShippingServiceOptions"); Element shippingOption = shippingit.get(0); if (shippingOption != null) { Element option = shippingOption.element("ShippingServiceCost"); if (option != null) { item.setShippingPrice(Double.parseDouble(option.getText())); } else { item.setShippingPrice(0.00); } } else { item.setShippingPrice(0.00); } } else { item.setShippingPrice(0.00); } item.setQuantity( Long.parseLong(element.elementText("Quantity")) - Long.parseLong(element.element("SellingStatus").elementText("QuantitySold"))); item.setQuantitysold( Long.parseLong(element.element("SellingStatus").elementText("QuantitySold"))); Element elflag = element.element("SellingStatus").element("ListingStatus"); if (elflag != null) { if (elflag.getText().equals("Active")) { item.setIsFlag("0"); } else { item.setIsFlag("1"); } } else { item.setIsFlag("1"); } item.setSubtitle(""); item.setBuyitnowprice( Double.parseDouble( element.element("ListingDetails").elementText("ConvertedBuyItNowPrice"))); item.setReserveprice( Double.parseDouble( element.element("ListingDetails").elementText("ConvertedReservePrice"))); item.setListingduration(element.elementText("ListingDuration")); item.setStarttime( DateUtils.returnDate(element.element("ListingDetails").elementText("StartTime"))); item.setEndtime( DateUtils.returnDate(element.element("ListingDetails").elementText("EndTime"))); String url = element.element("PictureDetails").elementText("GalleryURL"); // item.setPicUrl(url.substring(0,url.lastIndexOf("_")+1)+"14"+url.substring(url.lastIndexOf("."))); item.setPicUrl("http://thumbs.ebaystatic.com/pict/" + item.getItemId() + ".jpg"); li.add(item); } return li; }