2010-04-22 47 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