微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML 参数?

如何解决XML 参数?

我在将 XML 转换为 SOAP 服务中的 C# 对象时遇到了问题(我认为)。 鉴于此 XML 片段:

<Weasleys>
  <Child>
    <Name>Ron</Name>
    <Age>11</Age>
  </Child>
  <Child>
    <Name>Fred</Name>
    <Age>13</Age>
  </Child>
  <Child>
    <Name>George</Name>
    <Age>13</Age>
  </Child>
</Weasleys>

我有一个对象

public class Weasley
{
  public List<Child> Weasleys {get; set;}
}

public class Child
{
  public string Name {get; set;}
  public string Age {get; set;}
}

我的方法(释义)是GetPeople(Weasley input)。这有效(我正在使用 SoapUI 进行测试)

我的问题是,如果我将 XML 更改为:

<Weasleys>
  <Child Name="Ron" Age="11" />
  <Child Name="Fred" Age="13" />
  <Child Name="George" Age="13" />
</Weasleys>

如何更改我的对象以适应它? (使用当前对象,我得到 3 个 Child 实例,其中 NameAgenull)。

注意对象和 XML 是更大整体的一部分,元素已更改以保护无辜 :)

解决方法

您需要以这种方式将 Name 和 Age 定义为 XML 属性:

public class Child
{
  [XmlAttribute(AttributeName = "Name")]
  public string Name {get; set;}
  [XmlAttribute(AttributeName = "Age")]
  public string Age {get; set;}
}
,

排序
将方法更改为接受 XmlNode[] 允许我正确处理它

好有趣!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。