2010-04-22 50 views
13

有谁知道那里有一个库(最好在C#中),它将采用类并生成适用于亚马逊商城网络服务提要的XML或平面文件?是否有一个(C#)库将为亚马逊商城网络服务创建供稿?

换句话说,我希望做这样的事情:

 var feed = new AmazonProductFeed(); 
     var list = new AmazonProductList(); 

     var product1 = new AmazonProduct(); 
     product1.Name = "Product 1"; 
     list.Add(product1); 

     var product2 = new AmazonProduct(); 
     product2.Name = "Product 2"; 
     list.Add(product2); 

     feed.Products = list; 
     // spits out XML compliant with Amazon's schema 
     Console.Write(feed.ToXml()); 

它看起来像唯一代码Amazon提供的封装为Web服务本身和基于目录的传输工具(AMTU) 。

回答

7

.NET XML Schema Definition Tool可用于从任何XSD生成类,并可与XML序列化器一起使用以执行所描述的操作。

Amazon销售指南(SOA-GuideToXML.pdf)不包含对正确XSD的引用。链接与文档中重新打印的XSD不一致。我旧的链接到正确的XSD不再有效。我最好的猜测是他们可以找到here(需要卖家中心登录)。

就我所知,这(很长)命令将生成所有需要的类。请注意,您需要对生成的文件进行一些小的更改。我不记得它的工作方式,但我需要将某些二维数组更改为一维数组([] []至[]),反之亦然。我记得我必须做出这些改变的地方相当明显:

xsd xsd\amzn-base.xsd xsd\amzn-envelope.xsd xsd\amzn-header.xsd xsd\AttributeGroups.xsd xsd\AutoAccessory.xsd xsd\Beauty.xsd xsd\CameraPhoto.xsd xsd\CatPIL.xsd xsd\CE.xsd xsd\ClothingAccessories.xsd xsd\Customer.xsd xsd\CustomerAddress.xsd xsd\FoodAndBeverages.xsd xsd\FulfillmentCenter.xsd xsd\FulfillmentOrderCancellationRequest.xsd xsd\FulfillmentOrderRequest.xsd xsd\Gourmet.xsd xsd\Health.xsd xsd\Home.xsd xsd\HomeImprovement.xsd xsd\Image.xsd xsd\Inventory.xsd xsd\Item.xsd xsd\Jewelry.xsd xsd\Lighting.xsd xsd\Listings.xsd xsd\ListingSummary.xsd xsd\Loyalty.xsd xsd\MerchantListingsReport.xsd xsd\Miscellaneous.xsd xsd\MultiChannelOrderReport.xsd xsd\Music.xsd xsd\MusicalInstruments.xsd xsd\NavigationReport.xsd xsd\Offer.xsd xsd\Office.xsd xsd\OrderAcknowledgement.xsd xsd\OrderAdjustment.xsd xsd\OrderFulfillment.xsd xsd\OrderNotificationReport.xsd xsd\OrderReport.xsd xsd\Override.xsd xsd\PaymentMethod.xsd xsd\PetSupplies.xsd xsd\Price.xsd xsd\ProcessingReport.xsd xsd\Product.xsd xsd\ProductAttributes.xsd xsd\ProductClothing.xsd xsd\ProductImage.xsd xsd\Relationship.xsd xsd\ReverseFeed.xsd xsd\SettlementReport.xsd xsd\Sports.xsd xsd\Store.xsd xsd\SWVG.xsd xsd\TiresAndWheels.xsd xsd\Tools.xsd xsd\ToysBaby.xsd xsd\TypeDefinitions.xsd xsd\Video.xsd xsd\WebstoreItem.xsd xsd\Wireless.xsd /c /n:WebLinc.Services.Amazon.Marketplace > output.txt 2>&1 
pause 
+0

我一直在尝试这个,不能让它生成一个文件。我得到这样的错误:错误:为模式生成类时出错... - 使用targetNamespace ='的模式具有无效的语法。 simpleType'PercentageType'已被声明。第4行 46,位置3. - SimpleType'PercentageType'已被声明。 任何想法? – 2011-04-09 19:02:44

+0

乔希你能否请把正确的xsd放在外部链接上,因为每次我尝试打开链接后,我登录网站告诉我“你没有权限查看此页面”,尽管我登录了感谢 – 2010-07-28 19:55:12

+0

抱歉迟到的反应。代理类生成器有一些重要的吸引力。据我所知,你只需要手动修复这些错误。 – 2012-02-07 20:31:14