[英]Set XML serialziation resulting doc root
我遇到了另一个问题(就编码问题而言,这可能不是一个问题),但更多的原则是..困扰了我一段时间。 我有这个C#类,如下所示:
namespace SMCProcessMonitor
{
public class Config
{
[XmlElement("Recipient")]
public string recipient;
[XmlElement("Server-port")]
public int serverport;
[XmlElement("Username")]
public string username;
[XmlElement("Password")]
public string password;
[XmlElement("Program")]
public List<Programs> mPrograms = new List<Programs>();
[Serializable]
[XmlRoot("Email-Config")]
public class Email
{
public string Recipient
{
get
{
return SMCProcessMonitor.ConfigManager.mConfigurations.recipient;
}
set
{
SMCProcessMonitor.ConfigManager.mConfigurations.recipient = value;
}
}
public int ServerPort
{
get
{
return SMCProcessMonitor.ConfigManager.mConfigurations.serverport;
}
set
{
SMCProcessMonitor.ConfigManager.mConfigurations.serverport = value;
}
}
public string Username
{
get
{
return SMCProcessMonitor.ConfigManager.mConfigurations.username;
}
set
{
SMCProcessMonitor.ConfigManager.mConfigurations.username = value;
}
}
public string Password { get; set; }
}
}
我可以序列化这几乎可以了。 (我最近更改了简单的get; set;设置为如上所示的完整作品,但是在序列化时我得到了类似的东西;
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Recipient>sd</Recipient>
<Server-port>1234</Server-port>
<Username>dk</Username>
<Password>kdkdk</Password>
</Config>
基本上,我想将这4个标签包装在“电子邮件设置”标签中。
将Serializable()和XmlRoot属性添加到基类中:
[Serializable()]
[XmlRoot("Email-Settings")]
public class Config
有一些属性可以像这样控制xml序列化的各个方面,请参阅使用属性控制XML序列化 。
我认为您特别想要的是XmlRootAttribute 。
你需要创建一个EmailSettings
包含这些4个属性的类,然后进行实例EmailSettings
类的成员Config
类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.