如何指定元素的名称时,对象会序列

问题描述:

我有以下类如何指定元素的名称时,对象会序列

[XmlRoot(ElementName= "webSites")] //No capital w at the beginning 
public class WebSites : List<WebSite> 
{ 

} 

public class WebSite 
{ 
    [XmlAttribute("name")] 
    public string Name { set; get; } 
    [XmlAttribute("url")] 
    public String Url { set; get; } 
} 

这是序列化到

<?xml version="1.0" encoding="DOS-862"?> 
<webSites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http: 
//www.w3.org/2001/XMLSchema"> 
    <WebSite name="nice website" url="mydomain.com" /> 

这几乎是确定,但我想那WebSite(随着资本)将为webSite(没有大写) 我知道我可以指定这只为根,但我怎么可以为一个内部成员?

[XmlType("webSite")] 
public class WebSite {...} 

或控制在一个包装类集合属性:

[XmlArrayItem("webSite")] 
[XmlArray("sites")] 
public WebSites Sites { get; set; } 
+0

谢谢,我正在寻找所有的属性,但没想到它是如此容易:-) – 2008-11-17 14:06:34