【发布时间】:2019-07-04 04:59:18
【问题描述】:
我有一个这样的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Devices>
<Settings>
<Name>ABC</DeviceName>
<HostNic>LAN_1</HostNic>
</Settings>
</Devices>
</Configuration>
我想将其反序列化为对象形式。我正在尝试为 xml 文件定义一个类结构,如下所示:
class Configuration
{
[XmlElement("Address")]
public List<Devices> deviceList = new List<Devices>();
}
class Devices
{
[XmlElement("Address")]
public List<Settings> settingList = new List<Settings>();
}
class Settings
{
public string Name { get; set; }
public string HostNic { get; set; }
}
有没有其他合适的方式来定义这个 xml 文件的类?
【问题讨论】:
-
我认为你需要一个
XmlRoot。 -
有一些有用的信息Generate C# class from XML,这可能对你有帮助。
-
类必须是公开的才能被
XmlSerializer序列化。除此之外,你的问题是什么?你有问题吗?有什么不工作吗? -
@dbc 它正在工作。我只是想知道有没有更有效的方式为这个 xml 文件编写类。
-
您可能想澄清一下您追求的效率是多少?你的意思是更少的代码还是高效的(反)序列化?它也可能有助于提供有关您所拥有的约束的更多背景信息。
标签: c# xml serialization