如何解决序列化XML响应后,对象为空数组
我有一个XML响应作为wcf soap Web服务,例如波纹管:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ws:getSubjectFieldsByNameResponse xmlns:ws="https://localhost:8443/ira/ws">
<return xmlns:ns2="https://localhost:8443/ira/ws">
<item>
<subjectDnField>DN_PKIX_COMMONNAME</subjectDnField>
<defaultValue/>
<isRequired>true</isRequired>
<isModifiable>true</isModifiable>
</item>
<item>
<subjectDnField>DN_PKIX_SERIALNUMBER</subjectDnField>
<defaultValue/>
<isRequired>true</isRequired>
<isModifiable>true</isModifiable>
</item>
</return>
</ws:getSubjectFieldsByNameResponse>
</env:Body>
</env:Envelope>
我使用以下响应类来解析此xml文件的正文:
[MessageContractAttribute(WrapperName = "getSubjectFieldsByNameResponse",WrapperNamespace = "https://localhost:8443/ira/ws",IsWrapped = true)]
public partial class getSubjectFieldsByNameResponse
{
[MessageBodyMemberAttribute(Namespace = "",Order = 0)]
[XmlArrayItemAttribute("return",Namespace = "",Form = XmlSchemaForm.Unqualified,IsNullable = false)]
public SubjectItem[] items;
public getSubjectFieldsByNameResponse()
{
}
public getSubjectFieldsByNameResponse(SubjectItem[] items)
{
this.items = items;
}
}
[XmlTypeAttribute]
public partial class SubjectItem
{
[XmlElementAttribute(Form = XmlSchemaForm.Unqualified,Order = 0)]
public string subjectDnField { get; set; }
[XmlElementAttribute(Form = XmlSchemaForm.Unqualified,Order = 1)]
public string defaultValue { get; set; }
[XmlElementAttribute(Form = XmlSchemaForm.Unqualified,Order=2)]
public string value { get; set; }
[XmlElementAttribute(Form = XmlSchemaForm.Unqualified,Order=3)]
public bool isRequired { get; set; }
[XmlElementAttribute(Form = XmlSchemaForm.Unqualified,Order=4)]
public bool isModifiable { get; set; }
}
但是最终结果始终是SubjectItem
的空数组,我尝试更改一些XML属性但没有运气。我应该在响应类中进行哪些更改才能获得预期的结果?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。