如何解决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
实例,其中 Name
和 Age
为 null
)。
注意对象和 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 举报,一经查实,本站将立刻删除。