2014-09-11 50 views
0

我已經採取了將xml反序列化爲對象的方法,但是其中一些節點相對較小,我發現爲這樣的類創建類很奇怪。讓我舉一個例子:如何避免在反序列化時爲每個xml屬性創建新類?

public class Plugin 
{ 
    ... 
    List<Foo> Foos{ get; set; } 
    List<Bar> Bars{ get; set; } 
    ... 
} 

[Serializable] 
public class Foo 
{ 
    [XmlText()] 
    public string PluginId { get; set; } 
} 

[Serializable] 
public class Bar 
{ 
    [XmlAttribute("Name")] 
    public string Name { get; set; } 
} 

這是多麼的XML架構

<Plugin> 
    <Foos> 
    <Foo>Some Text</Foo> 
    <Foo>Some More Text</Foo> 
    </Foos> 
    <Bars> 
    <Bar Name="Some Name"/> 
    <Bar Name="Some Other Name"/> 
    </Bars> 

是沒有定義,我可以在插件類設置的2個字段的屬性,它會讓我在不創建2個包含1個字段的類的情況下創造魔法?

回答

1

Foos可能能

[XmlArray("Foos"), XmlArrayItem("Foo")] 
public List<string> Foos {get; set;} 

Bar,但是,必須保持的 - 你不能以其他方式配置的屬性。

相關問題