我目前正在开发一个C#工具,它必须序列化和反序列化包含具有相同名称但内容/属性不同的嵌套对象的对象。它基本上是一个具有n个级别的通用列表,其中节点具有相同的名称具有不同的内容,具体取决于父节点。现在我遇到的问题是我无法使用默认的XML-Serializer,因为如果有不同的类具有相同的名称,它就不知道要选择哪个类。
示例Xml:
[System.Xml.Serialization.XmlRoot("assembly")]
public class AssemblyClass
{
[System.Xml.Serialization.XmlElement("content")]
public ContentClass Content
}
课程:
AssemblyClass.cs
public class Content
{
[System.Xml.Serialization.XmlElement]
public List<ContentEntry> Entries;
}
ContentClass.cs
public class ContentEntry
{
[System.Xml.Serialization.XmlElement]
public List<ContentEntry> SubEntries;
}
ContentEntry.cs
public class add : ContentEntry
{
[System.Xml.Serialization.XmlAttribute("x")]
public String X;
[System.Xml.Serialization.XmlAttribute("y")]
public String Y;
}
通用/ add.cs
public class xml : ContentEntry
{
[System.Xml.Serialization.XmlAttribute("path")]
public String Path;
}
通用/ xml.cs
public class add : ContentEntry
{
[System.Xml.Serialization.XmlAttribute("z")]
public String Z;
}
XML / add.cs
{{1}}
无论如何我可以存档吗?或者我是否必须在XmlSerializer中实现某种逻辑?
最诚挚的问候,