C#和XML中的字符串列表

本文关键字:字符串 列表 XML | 更新日期: 2023-09-27 18:25:31

伙计们,我需要硬编码我的XML字符串列表数据,然后在控制台窗口中显示如下!

<Photos>
    <Photo> p1.jpg </Photo>
        <Photo> p2.jpg </Photo>
    <Photo> p3.jpg </Photo>
    <Photo> p4.jpg </Photo>
    <Photo> p5.jpg </Photo>
</Photos>

这就是我迄今为止所做的!

namespace ConsoleApplication17
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> list = new List<string>();
            list.Add("p1.jpg");
            list.Add("p2.jpg");
            list.Add("p3.jpg");
        }
    }
}

感谢您的帮助!

C#和XML中的字符串列表

您想将xml转换为List<string>()吗?

在这种情况下,使用LINQ to XML:

var str = @"<Photos>
    <Photo> p1.jpg </Photo>
    <Photo> p2.jpg </Photo>
    <Photo> p3.jpg </Photo>
    <Photo> p4.jpg </Photo>
    <Photo> p5.jpg </Photo>
    </Photos>";
XDocument.Parse(str)
    .Descendants("Photo")
    .Select (s => s.Value)
    .ToList<string>();

或者,如果您想创建XML:

var xPhotos = new XElement("Photos");
for (var x = 1; x < 6; x++) {
    xPhotos.Add(new XElement("Photo", "p" + x + ".jpg"));
}
var xdoc = new XDocument(xPhotos);

以上假设您的jpg名称有一个数字限制。


或者,如果您想从已有的List<string>()创建xml:

// your existing code:
List<string> list = new List<string>();
            list.Add("p1.jpg");
            list.Add("p2.jpg");
            list.Add("p3.jpg");
// to xml:
var xPhotos = new XElement("Photos");
foreach(string x in list)
    xPhotos.Add(new XElement("Photo", x));
var xdoc = new XDocument(xPhotos);