从目录自动填充xml

时间:2013-03-05 23:52:35

标签: c# asp.net xml

设置照片库,我的客户可以通过开源CMS解决方案管理内容。网站上的图库将使用XML动态生成。

XML结构需要格式化如下所示。我试图做的是查看是否有办法自动填充此文件,无论是通过Windows中的脚本每晚运行来更新此文件还是通过C#后端文件。

XML结构:

<image>
<title>Image Title</title>
</image>

1 个答案:

答案 0 :(得分:1)

一种选择是使用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);
}