2017-09-27 7 views
0

私はEbay APIコールからXMLリターンを取得しています。これは実際にコレクションのEbayカテゴリリストです。しかし、問題は、XML出力からコレクションにアクセスできないことです。私は2つの画像を添付しています。最初のものは変数を返すXML値のデバッグを示し、もう1つは "InnerList"を示しています。私の主な目標は、このXMLデータをデータベースに格納する準備をすることです。そのため、XMLデータから値のクリーンなリストが必要です。何か案は?APIからのXML出力の処理

Picture One

Picture Two

+0

'categories.InnerList'または' categories.List'は、カテゴリ情報を取得するために必要なものです。 –

+0

必要な 'List'プロパティーはありませんか? –

+0

XMLとは関係がありません。すでにいくつかの型のコレクションをシリアライズしています。プロパティでデータにアクセスしたり削除したりすることができます。 – Fabio

答えて

1

あなたは独自のクラス/オブジェクトに変換してXMLをデシリアライズでき - そして、で動作するように簡単になります。すべて私はクラスにxmlタグを入れて、私はそれをdeserializeすることができます。以下のクラスとメソッドを参照してください:

public static T Deserialize<T>(string xmlText) 
{ 
    try 
    { 
     var stringReader = new System.IO.StringReader(xmlText); 
     var serializer = new XmlSerializer(typeof(T)); 
     return (T)serializer.Deserialize(stringReader); 
    } 
    catch 
    { 
     throw; 
    } 
} 

[XmlElement("adress")] 
public class Adress 
{ 
    [XmlElementAttribute("street_address")] 
    public string street_address { get; set; } 

    [XmlElementAttribute("postal_code")] 
    public string postal_code { get; set; } 

    [XmlElementAttribute("city")] 
    public string city { get; set; } 

    [XmlElementAttribute("country")] 
    public string country { get; set; } 
} 

public main() 
{ 
    Adress myAdress = Deserialize<Adress>(XMLstring); 
} 

希望すると助かります!

0

Ebay SDKを使用しているようです。戻り値を処理するには、以下のコードを試してください。

foreach (CategoryTypeCollection item in categories) 
        { 
         item.ItemAt(0).CategoryID = "This is how you access the properties of he returned result"; 
         // THE XML is already parsed for you via SDK, so you don't have to parse it... 
         // since i wrote foreach loop here, always access itemAt 0th index posiiton 
        } 
関連する問題