关于.net中的XML反序列化的问题

ryu*_*ice 3 .net c# xml-deserialization

我正在尝试反序列化来自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>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,子标记使用与其父标记相同的标记,我认为这是错误的,但是Web服务是由外部公司提供的并且不会更改它,是否有任何方式或任何库来整理XML或者如何我在我的类上使用了一个属性,以便序列化器能够正确使用它?谢谢你的帮助.

Aar*_*ght 5

序列化程序应该没问题 - 问题可能只是一个类不能拥有与类本身同名的属性.所以用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; }
}
Run Code Online (Sandbox Code Playgroud)

仅供参考,XML实际上并没有错; 规范中没有规则说子元素不能与其父元素具有相同的名称.这可能是不寻常的,但仍然有效.