我如何使用这样一个返回XML的web服务?

本文关键字:XML 返回 一个 web 服务 何使用 | 更新日期: 2023-09-27 18:12:07

我有一个需要使用的第三方web服务。对它的调用将是这样的:https://somesitename.com/Service.dll?[行动]? [parameter1]和[parameter2]

根据所调用的操作和操作的结果返回各种XML结构。它可以像这样简单:

<?xml version="1.0"?>
<RESULTS>
    <VALUE>some return value here</VALUE>
</RESULTS>

或者对于返回稍微复杂的数据的调用,它可以像这样:

<?xml version="1.0" ?> 
<RESULTS>
    <RETURN>
        <RESPONSEMSG>Some message.</RESPONSEMSG> 
    </RETURN>
    <DATA>
        <COUNT>1</COUNT> 
        <VALUE1>1</VALUE1> 
        <VALUE2>1</VALUE2> 
        <VALUE3>FALSE</VALUE3> 
    </DATA>
</RESULTS>

如果调用出错了,它只会返回如下内容:

<?xml version="1.0" ?> 
<RESULTS>
    <RETURN>
        <ERROR>Error Message.</ERROR>
    </RETURN> 
</RESULTS>

所以,基本上我只是试图从REST服务中消费XML响应。它没有数据契约,我所要做的就是提供给我的示例响应。我应该为每种类型的结果构建poco类吗?我想我会使用HTTPClient或WebClient向服务发出请求。然后,我需要以某种方式将结果XML反序列化为可以返回的对象。对于这类事情是否存在最佳实践或模式?任何建议将不胜感激,谢谢!

我如何使用这样一个返回XML的web服务?

多种技术

linq2xml或者您可以使用xpath,这里有很多XML解析库。

linq2xml可能是目前最简单的。

linq2xml的唯一问题是,如果您在一个函数中解析整个内容,那么您真的需要在手动验证xml结构之前找到问题。

是的,POCO最适合这种情况。然后使用LINQ-to-XML解析XML。使用强类型编程总是好的

相关文章: