c# - 如何在没有相应类元素的情况下将xml元素序列化为类

问题描述

我可以将以下内容序列化到我的自定义 c# 类中:

<Servers>
    <Server url="www.temp.de">
        <Config>
            <Log>
                <Path>C:/temp</Path>
                <Level>DEBUG</Level>
            </Log>
            <Filter>
                <Filter>Created</Filter>
                <Filter>Modified</Filter>
            </Filter>
        </Config>
    </Server>
</Servers>

<Config><Server><Application> 部分具有相同的结构,因此我使用以下类来序列化服务器:

[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class Server
{
    private string url;
    private Configuration configuration;

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string URL { // get & set }

    public Configuration Config { // get & set }
}

[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class Configuration
{
    private LogConfiguration logConfiguration;
    private FilterConfiguration filterConfiguration;

    public LogConfiguration Log { // get & set }
    public FilterConfiguration Filter { // get & set }    
}

现在我有一个没有 <Config> 标签的 xml。 <Log><Filter> 直接位于 <Server> 之下。

不知道如何使用Server-Class中的注解来告诉Configuration-Object Config本身不能被对应的标签序列化,但是Configuration-Class的子属性可以被对应的标签序列化。

是否有基于注释的解决方案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)