【问题标题】:XML Array SerializationXML 数组序列化
【发布时间】:2013-03-05 14:18:56
【问题描述】:

我正在使用客户端方法进行肥皂网络服务。在其中一种方法上,它有一个参数作为 string[] 列表,所以我创建...

string[] myList = { "12345678" };

我通过客户端方法发送请求,但我收到一条错误消息,提示 SAXException 在反序列化时在数组元素内找到字符数据。我知道客户端方法在信封内发送这个。

<List>12345678</List>

应该是这样的……

<List><string>12345678</string></List>

我已经尝试了以下方法,但仍然没有得到我需要的结果。

[XmlArrayItem("m")]
public string[] list
{
   get; set;
}

我这样做是为了使用上面的类,

string[] a = new string[] { "12345678" };
list = a;

结果是一样的,

<List>12345678</List>

【问题讨论】:

  • 我们能看一些代码吗?你已经尝试了什么?看起来类似于stackoverflow.com/questions/2815421/…
  • 您的实际结果是预期的。您不是要序列化一个列表,而是要序列化多个字符串巨大的差异。如果你想序列化一个集合是可能的,但需要额外的代码:stackoverflow.com/questions/126155/…
  • 标题已编辑,因为该问题与 C# 无关,而是与一般的 XML 序列化有关。
  • Ramhound 我点击了您发布的链接,但我仍然无法获得结果。有什么帮助吗?

标签: c# xml soap


【解决方案1】:

我不得不修改它具有 maxOccurs="Unbounded" type="xsd:string" 的类型的 wsdl 我将其更改为 minOccurs="0" maxOccurs="1" type="xsd:ArrayOfString" 并重新生成客户端代码。它奏效了。感谢您的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多