-2

文本文件包含属性,例如

    <file loc="NEEDTHIS" id="140359"/>
    <file loc="NEEDTHIS2" id="137406"/>
    <file loc="NEEDTHIS3" id="137545"/>

如何仅获取文件位置并将其存储在字符串数组中?

预期输出:

    NEEDTHIS
    NEEDTHIS2
    NEEDTHIS3
4

2 回答 2

1

将文件加载到XDocument对象中,然后使用 LINQloc从每个file元素中提取属性,如下所示:

var doc = new XDocument();
doc.Load("path to your XML file");

var files = from file in doc.Descendants("file")
            select (string)service.Element("loc");
于 2013-08-15T02:20:10.310 回答
1

XDocument可以做到:

var paths = XDocument.Load("file.xml")
                     .Descendants("file")
                     .Select(n => n.Attribute("loc").Value);
Console.WriteLine(string.Join(", ", paths));

分解为一个foreach循环:

var doc = XDocument.Load("file.xml");
var paths = new List<string>();
foreach (var file in doc.Descendants("file"))
    paths.Add(file.Attribute("loc").Value); // or just Console.WriteLine(file.Attribute("loc").Value);
Console.WriteLine(string.Join(", ", paths));
于 2013-08-15T02:24:19.970 回答