有没有一种方法可以使用厨师计算库通过XML-RPC将结构数组(在XML中)转换/映射到C# .NET中的对象数组?
例如,我希望将此数组发送到XML-RPC服务器:
<?xml version="1.0"?>
<methodCall>
<methodName>mynamespace.methodName</methodName>
<params>
<param>
<value>
<array>
<data>
<struct>
<member>
<name>param1String</name>
<value><string>ABCDEFGH</string></value>
</member>
<member>
<name>param2Int</name>
<value><i4>123456</i4></value>
</member>
</struct>
<struct>
<member>
<name>param1String</name>
<value><string>QWERTY</string></value>
</member>
<member>
<name>param2Int</name>
<value><i4>987654</i4></value>
</member>
</struct>
</data>
</array>
</value>
</param>
</params>
</methodCall>此外,我有以下服务器方法来处理此请求:
[XmlRpcMethod("mynamespace.methodName")]
public void ProcessArrayOfObjects(Array[] myArray)
//public void ProcessArrayOfObjects(XmlRpcStruct[] myArray)
{
try
{
// ... would process, but myArray is empty
}
catch (Exception e)
{
logger.Error(e, "Processing array failed! Reason: {0}", e.Message);
}
}我使用CookComputing的第三方XML-RPC库来处理XML请求。在将接收到的XML输入映射到Array[]、XmlRpcStruct[]、甚至是具体类的数组之后,我得到的只是一个空数组。
我还尝试将其映射到List<XmlRpcStruct>或List<ConcreteObject>,同时删除了<array></array>和<data></data>标记。我收到XML-RPC请求错误(错误的XML格式)。
我还能用CookComputing框架做什么?
https://stackoverflow.com/questions/47757139
复制相似问题