我需要在 C# 网站应用程序中使用 Web 服务。我使用 wsdl 命令生成了代理类,我可以使用它来调用 Web 服务并获得结果。
问题是我在响应 xml 中有 2 个字段,它们在 cdata 标记中提供数据。这 2 个字段的值作为空字符串返回。我尝试将 XMLText 属性添加到代理中的字段定义中,如下所示。
[XmlText]
public string Title {
get {
return this.TitleField;
}
set {
this.TitleField = value;
}
}
[XmlText]
public string Description {
get {
return this.descriptionField;
}
set {
this.descriptionField = value;
}
}
但是当上述代码更改完成时,我收到以下错误:
异常详细信息:System.InvalidOperationException:无法序列化类型为“WService.XXXXXXXXXX”的对象,因为它具有多个 XmlText 属性。考虑使用带有 XmlTextAttribute 的字符串数组来序列化混合复杂类型。
以下是值在响应中的显示方式:<Title><![CDATA[test title]]></Title> <Description><![CDATA[test description ]]></Description>
这两个元素的数据类型在 XSD 中指定为字符串。请让我知道这个问题需要如何解决。