【问题标题】:How can I specify the name of the element when a object will serialize对象序列化时如何指定元素的名称
【发布时间】:2008-11-17 14:01:07
【问题描述】:

我有以下课程

    [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(不带大写) 我知道我只能为 root 指定这个,但是我怎么能指定一个内部成员呢?

【问题讨论】:

    标签: c# .net serialization xml-serialization


    【解决方案1】:
    [XmlType("webSite")]
    public class WebSite {...}
    

    或控制包装类上的集合属性:

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

    【讨论】:

    • 谢谢,我正在搜索所有属性,但没想到这么简单:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多