0

我試圖影響XmlSerializer的創建這個簡單的輸出:.NET XmlSerializer的記錄與元素

<ListOfStuff> 
    <PropertyList> 
     <Datum qualifier="areaType">square</Datum> 
     <Datum qualifier="color">red</Datum> 
    </PropertyList> 
</ListOfStuff>  

我的物品進行裝飾,像這樣:

public class ListOfStuff 
{  
    [XmlElement] 
    public PropertyList PropertyList { get; set; }   
} 

public class PropertyList 
{ 
    [XmlElement] 
    public List<Datum> Datum { get; set; } 
} 

public class Datum 
{ 
    [XmlAttribute] 
    public string qualifier { get; set; } 
} 

但串行輸出似乎將我的Datum元素解釋爲記錄而不是具有數據的元素(缺少值「square」和「red」)。

<ListOfStuff> 
    <PropertyList> 
       <Datum qualifier="areaType" /> 
       <Datum qualifier="color" /> 
    </PropertyList> 
</ListOfStuff> 

是否有一個額外的屬性,我需要應用它來爲序列化程序提供更多的清晰度?

回答

0

可以使用[XmlText]屬性的<Datum>元素的值綁定到一個字符串值屬性的Datum類:

public class Datum 
{ 
    [XmlAttribute] 
    public string qualifier { get; set; } 

    [XmlText] 
    public string Value { get; set; } 
} 

樣品fiddle