2011-07-13 122 views
2

我一直在玩xml序列化一段時間,我遇到了序列化列表集合的問題。我想序列化一個列表集合,而不用將上面的元素包裹起來。見下面的例子:列表集XML序列化

結果系列化:

<?xml version="1.0" encoding="utf-8" ?> 
<Person> 
    <Name>John</Name> 
    <AddressLine> 
    <string>Line 1</string> 
    <string>Line 2</string> 
    <string>Line 3</string> 
    </AddressLine> 
    <Telephone>123456789</Telephone> 
</Person> 

我要輸出的序列化:

<?xml version="1.0" encoding="utf-8" ?> 
<Person> 
    <Name>John</Name> 
    <AddressLine>Line 1</AddressLine> 
    <AddressLine>Line 2</AddressLine> 
    <AddressLine>Line 3</AddressLine> 
    <Telephone>123456789</Telephone> 
</Person> 

我已經嘗試設置不同的屬性,以我的課,我從不過我serializaing似乎無法得到它的任何地方。如果任何人都可以告訴我什麼屬性,我需要使用我的xml序列化看起來像輸出xml我想這將不勝感激。

乾杯!

回答

4
[Serializable] 
public class Person 
{ 
    public string Name { get; set; } 

    [XmlElement] 
    public List<string> AddressLine { get; set; } 
} 

主要生產所需的輸出:

<?xml version="1.0"?> 
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Name>John</Name> 
    <AddressLine>1</AddressLine> 
    <AddressLine>2</AddressLine> 
    <AddressLine>3</AddressLine> 
</Person> 
+0

感謝您的幫助。我不認爲你可以用xml屬性將elementname設置爲什麼來解釋序列化程序對該屬性的作用? – madness800

+0

@ madness800,你可以在不初始化ElementName的情況下設置[XmlElement] –