2014-11-04 101 views
1

我不確定這是否可行,但我會嘗試儘可能一致地說出我的問題。XML屬性爲「複雜屬性」

我正在學習對象的ISerielizable和XMLSerializer,因爲我厭倦了編寫XML。我有以下的XML。

<Person> 
<FName>John</FName> 
<LName>Smith</LName> 
<Address Type = "Road">1623 Stagecoach</Address> 
</Person> 

我與

string FName 
string LName 
string Address 

屬性的人對象,而不是添加的地址類型=路的屬性,

我怎樣才能serilize地址節點的Type屬性是地址屬性的一部分。

想到的例子是Label的Font屬性或Size屬性。

編輯:

由於我重讀這一點,我意識到簡單的答案是增加一個新的地址類和一切順利乾淨。我想我的問題是,除此之外還有其他方法嗎?

回答

2

那麼你可能想先改變你的類庫,然後再進行序列化。嘗試製作:

[XmlRoot("Person")] 
public class Person() 
{ 
[XmlElement("FName")] 
public string Fname { get; set; } 

[XmlElement("LName")] 
public string LName { get; set; } 

[XmlElement("Address")]  
public Address Address; 
} 

public class Address() 
{ 
[XmlAttribute("Type")] 
public string Type { get; set; } 

[XmlType] 
public string AddrValue { get; set; } 
}