如何定义C#类来反序列化特定的XML表达式
我的序列化/反序列化工作得很好,但我想稍微修改一下xml文件,使其更具可读性。 我现在得到的是:如何定义C#类来反序列化特定的XML表达式,c#,xml,serialization,.net-4.0,C#,Xml,Serialization,.net 4.0,我的序列化/反序列化工作得很好,但我想稍微修改一下xml文件,使其更具可读性。 我现在得到的是: <Options> <Option> <Key>Backup</Key> <RegEx>.exe%</RegEx> </Option> </Options> 备份 .exe% 我想这样写: <Options> <Option key="Backup" r
<Options>
<Option>
<Key>Backup</Key>
<RegEx>.exe%</RegEx>
</Option>
</Options>
备份
.exe%
我想这样写:
<Options>
<Option key="Backup" regex=".exe%" />
</Options>
[Serializable]
public class Option
{
//[XmlElement("key")]
public EOptions Key;
//[XmlElement("regex")]
public string RegEx;
public override string ToString()
{
return Key.ToString();
}
}
...
public List<Option> Options;
[可序列化]
公共类选项
{
//[XmlElement(“键”)]
公钥;
//[XmlElement(“regex”)]
公共字符串正则表达式;
公共重写字符串ToString()
{
return Key.ToString();
}
}
...
公开列表选项;
我用谷歌搜索了一个小时,试了很多次,但都没用。用
xmldattribute
替换你的xmlement
[Serializable]
public class Option
{
[XmlAttribute("key")]
public EOptions Key;
[XmlAttribute("regex")]
public string RegEx;
public override string ToString()
{
return Key.ToString();
}
}
[Serializable]
public class Option
{
[XmlAttribute("key")]
public EOptions Key;
[XmlAttribute("regex")]
public string RegEx;
public override string ToString()
{
return Key.ToString();
}
}
您使用类而不是xmlementattribute
[Serializable]
public class Option
{
[XmlAttribute("key")]
public EOptions Key;
[XmlAttribute("regex")]
public string RegEx;
public override string ToString()
{
return Key.ToString();
}
}
[Serializable]
public class Option
{
[XmlAttribute("key")]
public EOptions Key;
[XmlAttribute("regex")]
public string RegEx;
public override string ToString()
{
return Key.ToString();
}
}
XmlAttributeAttribute如何?我很难相信你在搜索的时候没有发现。出于好奇,您尝试了哪些搜索短语?XmlAttribute是我尝试的第一个。但我不知道为什么它不起作用。也许是打字错误。还有谷歌:嗯,如果你不知道事物的名称,那么谷歌就很复杂;)我尝试了“xml键值”等等。然后我尝试了以下每个属性:顺便说一句:你们都让我的日子过得很愉快。它可能不起作用,因为你们没有导入正确的名称空间。可能与常规的XmlAttribute类混淆了。只是想再考虑一次。=)+比我快几分钟。我真的应该停止评论,只是给出答案