В настоящее время я использую XML-RPC из http://www.xml -rpc.net /
Я видел сотни примеров получения одного результата от службы и его сохранения вstruct, но мне нужно хранить значения "N".
Я объясню это лучше.У меня есть исходный файл, содержащий, в основном это:
public struct estructura
{
public string apiKey;
}
[XmlRpcUrl("http://example.net/api/xmlrpc/thisfile.php")]
public interface IStateName : IXmlRpcProxy
{
[XmlRpcMethod("myserver.search.getSomething")]
XmlRpcStruct busqueda(estructura co);
}
У меня также есть один файл aspx с этим на PageLoad
protected void Page_Load(object sender, EventArgs e)
{
IStateName proxy = XmlRpcProxyGen.Create<IStateName>();
try
{
estructura uno;
uno.apiKey = "My_API_Key_Value"; // Hidden for security reasons
XmlRpcStruct a = proxy.busqueda(uno);
}
catch (Exception ex)
{
Response.Write("Some error...");
}
}
Это на самом деле работает, я использую Fiddler для чтенияHTTP-запросы / ответы, и все в порядке, служба возвращает это ...
HTTP/1.1 200 OK
Date: Tue, 01 Feb 2011 16:06:51 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Pragma: no-cache
Connection: close
XMLRPC-server: SimpleXMLRPC/0.7
Content-Length: 2177
Content-Type: text/xml; charset=UTF-8
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>ATEId</name>
<value>
<string>6</string>
</value>
</member>
<member>
<name>ATEDescripcionEsp</name>
<value>
<string>* No Especificado *</string>
</value>
</member>
</struct>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>ATEId</name>
<value>
<string>10</string>
</value>
</member>
<member>
<name>ATEDescripcionEsp</name>
<value>
<string>Asociaciones de empresas</string>
</value>
</member>
</struct>
</value>
</param>
<param>
[The rest of params...]
</param>
</params>
</methodResponse>
Моя проблема заключается в том, что "var a" хранит ТОЛЬКО первый "параметр", я имею в виду, я отладил код и "a «содержит только эти записи
Name Value
["ATEDescripcionEsp"] "* No Especificado *"
["ATEId"] "6"
Поэтому я хочу сохранить только ВСЕ результаты (следующий результат должен быть ATEId = 10 и ATEDescripcionEsp =" Asociaciones de Empresas ") из ответа сервера или, если я могу 'Для этого мне нужно сохранить обычный XML-код из ответа, а затем проанализировать его вручную.