【发布时间】:2016-12-16 15:00:31
【问题描述】:
我有以下
`<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>1</name>
<value>
<struct>
<member>
<name>imageID</name>
<value>
<string>40087</string>
</value>
</member>
<member>
<name>imageURL</name>
<value> <string>http://local.server.gr/public_html/main/phpthumb/phpThumb.php?id=40087</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>2</name>
<value>
<struct>
<member>
<name>imageID</name>
<value>
<string>40088</string>
</value>
</member>
<member>
<name>imageURL</name>
<value>
<string>http://local.server.gr/public_html/main/phpthumb/phpThumb.php?id=40088</string>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>3</name>
<value>
<struct>
<member>
<name>imageID</name>
<value>
<string>40089</string>
</value>
</member>
<member>
<name>imageURL</name>
<value>
<string>http://local.server.gr/public_html/main/phpthumb/phpThumb.php?id=40089</string>
</value>
</member>
</struct>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>`
来自服务器的 xmlrpc 响应。
我尝试了不同类型的对象,它们接受并成功序列化此 xml,但没有成功。我无法理解更改整数值的“名称”元素。任何帮助表示赞赏。
【问题讨论】:
-
无法从您的描述中获得 - 您需要序列化或反序列化为 c# 对象吗?
-
XML-RPC 在 2002 年 .NET 的第一个版本问世之前就被 SOAP 取代了。本质上,它是一组类似于 Json 的键/值对(实际上是名称/值对)。如果你不能说服创建服务器的人使用更多……新鲜的东西,你应该寻找像 XML-RPC.Net 这样的库,也可以作为 Nuget 包提供
-
@Mitklantekutli 问题很明确 - OP 想要反序列化服务器的响应。这不是立即的,因为 元素 具有不同的内容和结构,就像 Json 一样。
-
您要调用什么服务器?它有一个 Json API 可以用来代替 XML-RPC 吗?您是否正在尝试使用可能使用 Frontpage 扩展的网站?
-
澄清一下,我得到这个 xml 作为来自服务器的响应,我想把这个响应反序列化成一个对象。不,服务器没有json api,只有xml rpc。我有一个实现 IXmlRpcProxy 的类接口,那里有我可以调用的所有 webmethods。对于这个函数,结果比整数或字符串要复杂一些。所以我还没有想出兼容的对象——我应该有的返回类型。
标签: c# .net xml serialization