C#XML - 将XML属性折叠为列表/数组

时间:2013-05-08 01:43:18

标签: c# xml c#-4.0 xml-serialization

我正在尝试序列化从SOAP API服务返回的XML文件。问题是他们已经定义了一个对象数组:

<soap_xml>
    ...
    <item __array="true">
        <some_property>text here<some_property/>
    </item>
    <item>
        <some_property>text here<some_property/>
    </item>
    ...
</soap_xml>

在反序列化此XML文件时,是否仍然使用XmlSerializer将其压缩为数组,或者我是否必须手动处理整个XML文件。我并不热衷于手动处理XML,因为它有100多个不同的属性/字段,但如果没有其他解决方案,那么我将不得不使用XMLReader并编写自定义序列化器。

此外,要求API提供商更改返回的XML的格式是不可能的。

1 个答案:

答案 0 :(得分:0)

您需要定义一个遵循XML文件架构的类 - 您是否拥有API提供程序的架构?如果是这样,您可以使用xsd.exe生成可以加载它的类文件。

或者,您需要使用遵循格式的相应XML属性来注释您自己的类。