【发布时间】:2019-02-25 08:13:36
【问题描述】:
我无法使用 C# 反序列化 XML 的以下部分
<mainfile>
<portfolio>
<fotos>
<foto> <!CDATA[https://whatever.com/fotos/E/400/photo.JPG]]>
</foto>
</fotos>
</portfolio>
<portfolio>
<fotos>
<foto> <!CDATA[https://whatever.com/fotos/E/400/photo1.JPG]]>
</foto>
</fotos>
</portfolio>
</mainfile>
我认为它应该很简单,但是在反序列化时它总是返回一个空列表。代码如下:
[XmlRoot("mainfile")]
public class MainFile
{
public MainFile()
{
porftolios= new List<Portfolio>();
}
[XmlElement("portfolio")]
public List<Portfolio> Portfolios{ get; set; }
}
public class Portfolio
{
....
[XmlElement("fotos")]
public List<Foto> Fotos { get; set; }
}
public class Foto
{
[XmlText]
public string data{ get; set; }
}
谢谢。
编辑。 从 HimBromBeere 的解决方案中,我更改了以下代码,结果成功:
public class Portfolio
{
....
[XmlArray("fotos")]
[XmlArrayItem("foto")]
public List<Foto> Fotos { get; set; }
}
public class Foto
{
[XmlText]
public string data{ get; set; }
}
【问题讨论】:
-
如何(以及在何处)反序列化 xml?
-
我添加了一个包含更多信息和代码的“编辑”部分。感谢您的帮助!
标签: c# xml serialization