eBay大中华区API开发者平台 开发者专区

搜 索
首页>API开发者平台>技术文档>按Title匹配来寻找某个eBay产品

技术文档

问题
按Title匹配来寻找某个eBay产品
解答
0
人觉得答案有帮助)

 

这段代码演示了如何从eBay Catalog中按Title匹配来寻找一个产品。代码调用了Shopping API :FindProducts。对于可能出现的多个匹配产品,默认只返回前三个结果。

 using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 

using System.Net; 
using System.IO; 
using System.Xml;

namespace eBayProductSearch 

    public class eBayProdSearch

    { 
         private void searcgProdByTitle 
        {

            string Title = "LG 42" Plasma TV 42PQ3000" 
            string AppID = "YourAppID"; 
            string error; 

            //make the FindProducts call 
            string request = "http://open.api.ebay.com/shopping?appid=" + AppID + "&version=623&siteid=0&callname=FindProducts&MaxEntries=3&QueryKeywords=" + Title; 

            WebRequest wrGETURL; 
            wrGETURL = WebRequest.Create(request); 
     
            Stream objStream; 
            try 
            { 
                //read the response 
                objStream = wrGETURL.GetResponse().GetResponseStream(); 
                StreamReader objReader = new StreamReader(objStream); 
                string strResponse = objReader.ReadToEnd(); 

                //parse the response 
                XmlDocument xmlDoc = new XmlDocument(); 
                xmlDoc.LoadXml(strResponse); 
                XmlNode root = xmlDoc["FindProductsResponse"]; 
                string ProdIDs; 

                if (root["Errors"] != null) 
                { 
                    //There is an error 
                    error = root["Errors"]["ShortMessage"].InnerText; 
                    Console.WriteLine(Title + "t" + error); 
                } 
                else 
                { 
                    //Browse the response for Product matches 
                    XmlNodeList ProdList = xmlDoc.GetElementsByTagName("Product"); 

                    //There could be more than one Product match 
                    for (int i = 0; i < ProdList.Count; i++) 
                    { 
                        ProdIDs = ""; 

                        //Each Product can have multiple Product identifiers associated. 
                        //We want to get all 
                        XmlNodeList ProdIDList = ProdList[i].ChildNodes; 
                        for (int j = 0; j < ProdIDList.Count; j++) 
                        { 
                            if (ProdIDList[j].Name == "ProductID") 
                            { 
                                XmlAttributeCollection attCol = ProdIDList[j].Attributes; 
                                ProdIDs += attCol[0].Value + "t" + ProdIDList[j].InnerText + "t"; 
                            } 
                        } 
                        ProdIDs = ProdIDs.Replace("Reference", "ePID"); 
                        Console.WriteLine(Title + "t" + ProdIDs); 
                         
                    } 

                 } 

             } 

            catch (Exception ex) 
            { 
                Console.WriteLine("FindProducts error - identifier = " + Title + "t" + ex.Message); 
                 
            }

}

}

}

 


答案对您有帮助吗?

是,对我很有帮助
否,没解决我的问题