正在建立一个照片库,我的客户将能够通过开源 CMS 解决方案管理内容。网站上的画廊将使用 XML 动态生成。
XML 结构的格式需要如下所示。我试图做的是看看是否有一种方法可以自动填充这个文件,无论是通过每晚在 Windows 中运行的脚本来更新它还是通过 C# 后端文件。
XML结构:
<image>
<title>Image Title</title>
</image>
一种选择是使用 XmlSerializer
您可以创建一个用于序列化的对象
[XmlType("image")]
public class XmlImage
{
[XmlType("title")]
public string Title { get; set; }
[XmlType("src")]
public string Source{ get; set; }
}
然后您可以创建此对象的列表并序列化为 xml 文件。
// make a list of the images you want to save
List<XmlImage> images = new List<XmlImage>(Directory.GetFiles("imageDir")
.Select(file => new XmlImage
{
Title = System.IO.Path.GetFileNameWithoutExtension(file),
Source = file
}));
// create an XmlSerializer for you list type
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<XmlImage>));
// open file stream
using (FileStream stream = new FileStream("destinationFile", FileMode.OpenOrCreate))
{
// save list to xml
xmlSerializer.Serialize(stream, images);
}