我正在调用 REST 网络服务。
响应看起来像这样:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<data>
<status>1</status>
<message>OK</message>
<results>
<result>
<account>12345</account>
<to>012345678</to>
<from>054321</from>
<message>Testing</message>
<flash></flash>
<replace></replace>
<report></report>
<concat></concat>
<id>f8d3eea1cbf6771a4bb02af3fb15253e</id>
</result>
</results>
</data>
我有一个名为“SMSEndingResponse”的类,如下所示:
public class SMSSendingResponse
{
public string AccountNumber { get; set; }
public string Status { get; set; }
public string Message { get; set; }
public string ResponseID { get; set; }
public SMSMessage SMSMessage { get; set; }
}
SMSMessage 看起来像这样:
public class SMSMessage
{
public string To { get; set; }
public string From { get; set; }
public string Message { get; set; }
}
如您所见,我忽略了一些返回的元素(flash、replace 等)
将返回的 XML 序列化为该对象的最佳方式是什么?
我尝试使用 XmlSerializer,但这引发了错误...我猜是因为我没有先使用 XmlSerializer 进行序列化。
如果是 Json,我会使用 NewtonSoft.Json 库... 虽然我想我可以将 xml 转换为 json,然后以这种方式序列化,有没有更好的方法?
最佳答案
只要将适当的属性添加到类的字段中,就可以很好地使用 XmlSerializer
。 Check these out for an example of some .毫无疑问,您在最初几次使用它时会遇到错误,但请坚持使用它,因为一旦您弄明白了,它就是一个很棒的工具。
编辑:
Here is a better place to find all of the available attributes .在列表中查找以 Xml 开头并以 Attribute 结尾的任何内容。您会想要了解所有这些。
关于c# - 序列化从 WebService 到对象的 XML 响应 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833769/