其他分享
首页 > 其他分享> > NET中的XML反序列化问题

NET中的XML反序列化问题

作者:互联网

我正在尝试反序列化来自Web服务的XML,但是我不知道如何告诉序列化程序如何处理这一段xml:

<Movimientos>
<Movimientos>
<NOM_ASOC>pI22E7P30KWB9KeUnI+JlMRBr7biS0JOJKo1JLJCy2ucI7n3MTFWkY5DhHyoPrWs</NOM_ASOC>
<FEC1>RZq60KwjWAYPG269X4r9lRZrjbQo8eRqIOmE8qa5p/0=</FEC1>
<IDENT_CLIE>IYbofEiD+wOCJ+ujYTUxgsWJTnGfVU+jcQyhzgQralM=</IDENT_CLIE>
</Movimientos>
<Movimientos>

如您所见,子标记与父标记使用相同的标记,我想这是错误的,但是Web服务是由外部公司提供的,并且不会更改它,是否有任何方法或库来整理XML,或者如何我在类上使用属性,以便序列化程序正确处理?谢谢你的帮助.

解决方法:

序列化器应该可以使用它-问题可能只是类不能具有与类本身名称相同的属性.因此,使用XmlElementAttribute进行匹配:

[XmlRoot("Movimientos")]
public class Movimientos
{
    [XmlElement("Movimientos")]
    public SomeOtherClass SomeOtherProperty { get; set; }
}

public class SomeOtherClass
{
    public string NOM_ASOC { get; set; }
    public string FEC1 { get; set; }
    public string IDENT_CLIE { get; set; }
}

仅供参考,XML实际上没有错;规范中没有规定说子元素不能与其父元素具有相同的名称.也许这很罕见,但仍然有效.

标签:xml-deserialization,c,net
来源: https://codeday.me/bug/20191024/1917765.html