2010-07-08 72 views
2

有下一个XML文件:C#XML德序列化和阵列

<element Name="root"> 
    <SubFields> 
     <element Name="subroot"> 
      <SubFields> 
       <element1 Name="element1" customatt1 = "12313" customatt2 = "asdfasfadsfasd"> 
        <subelement Name="subelement" /> 
       </element1> 
       <element1 Name="element11" customatt1 = "12313" customatt2 = "asdfasfadsfasd"> 
        <subelement Name="subelement" /> 
       </element1> 
       <element1 Name="element111" customatt1 = "12313" customatt2 = "asdfasfadsfasd"> 
        <subelement Name="subelement" /> 
       </element1> 
       <element2 Name="element2" path = "asdfdsf" widget="asdasdasd"> 
        <subelement Name="subelement" /> 
       </element2> 
       <element2 Name="element22" path = "asdfdsf" widget="asdasdasd"> 
        <subelement Name="subelement" /> 
       </element2> 
       <element2 Name="element222" path = "asdfdsf" widget="asdasdasd"> 
        <subelement Name="subelement" /> 
       </element2> 
      </SubFields> 
     </element> 
    </SubFields> 
</element> 

我映射的元素的数组作为[XmlArray("SubFields")]其中子场是阵列和问题的根: 如何映射差异类型对象元素的? 我可以有很多subroot -s元素。

回答

0

使用XMLSerializer类。在底部附近那里有一个关于使用部分财产属性的对象映射到XML元素

+0

是的,我使用 – jitm 2010-07-08 10:24:01

+0

问题如何区别元素映射为XML序列中的对象的主要思路和“地图”在我的理解使用C#属性,如[XMLArray]等。 – jitm 2010-07-08 10:29:31

+0

你需要这种确切格式的XMl吗?如果不是它通常是一个更容易创建和填充的对象,然后就可以进行序列化和反序列化到XML,而不是倒过来。 – w69rdy 2010-07-08 10:34:39