反序列化 xml 字符串并忽略根中的第一个元素
DeSerialize xml string and ignore the first element within root
我得到了这个XML字符串数据,结构如下:
<Document>
<Contents>
<Content>
...
<Contents>
</Document>
所以结构总是像上面那样,我做了一个class,它准确地反映了将被识别为<Content>
的对象。
我想知道如何将内容一次反序列化到 List
个 Content
对象中。目前我正在尝试
XmlSerializer annotationSerializer = new XmlSerializer(
typeof(List<Content>),
new XmlRootAttribute("Document")
);
当然这不会起作用,因为第一个找到的元素将是内容,我该如何解决这个问题?我需要 Content
class 上的某个属性吗?
您需要在此处使用根对象:
public class Document {
public List<Content> Contents {get;} = new List<Content>();
}
现在反序列化 Document
并读取 .Contents
。 有 一些可以绕过根对象的场景,但是...这里没有,不方便。
我得到了这个XML字符串数据,结构如下:
<Document>
<Contents>
<Content>
...
<Contents>
</Document>
所以结构总是像上面那样,我做了一个class,它准确地反映了将被识别为<Content>
的对象。
我想知道如何将内容一次反序列化到 List
个 Content
对象中。目前我正在尝试
XmlSerializer annotationSerializer = new XmlSerializer(
typeof(List<Content>),
new XmlRootAttribute("Document")
);
当然这不会起作用,因为第一个找到的元素将是内容,我该如何解决这个问题?我需要 Content
class 上的某个属性吗?
您需要在此处使用根对象:
public class Document {
public List<Content> Contents {get;} = new List<Content>();
}
现在反序列化 Document
并读取 .Contents
。 有 一些可以绕过根对象的场景,但是...这里没有,不方便。