2016-10-20 4 views
0

私はXML-RPCからアレイ応答タイプをマップしようとしていますが、私はXML-RPC.NETライブラリIについて、それがXml-RPC.Net応答マッピングを持つ配列

ドキュメントを行う方法を理解することはできません使用していますと、ここ http://xml-rpc.net/faq/xmlrpcnetfaq-2-5-0.html

私はここ(intは常に0で、文字列はランダムな数字が含まれている)を取得応答の例です。

<methodResponse> 
    <params> 
    <param> 
     <value> 
     <array> 
      <data> 
      <value> 
       <int>0</int> 
      </value> 
      <value> 
       <string>9869117656.9552</string> 
      </value> 
      </data> 
     </array> 
     </value> 
    </param> 
    </params> 
</methodResponse> 

ここで応答データを収集するためにどのようにC#での私の試みです

public struct try1 { 
      public object[] returnstuff; 
     } 

public struct try2 
     { 
      public int returncode; 
      public string token; 
     } 

しかし、これらすべてのスロー同じ例外:

CookComputing.XmlRpc.XmlRpcTypeMismatchException' 

追加情報:応答はあなたが私は応答を収集するために、正しいC#の構造を作るためにどのようにそれを把握助けることができ、構造体が

を期待配列値が含まれています立ち入り?

答えて

0

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      XDocument doc = XDocument.Load(FILENAME); 

      Data data = new Data(); 
      data.values = doc.Descendants("data").Select(x => new Values() { 
       returncode = (int?)x.Descendants("int").FirstOrDefault(), 
       token = (string)x.Descendants("string").FirstOrDefault() 
      }).ToArray(); 

     } 
    } 
    public class Data 
    { 
     public Values[] values; 
    } 

    public class Values 
    { 
     public int? returncode; 
     public string token; 
    } 

} 
のXML LINQをお試しください
関連する問題