文本文件包含属性,例如
<file loc="NEEDTHIS" id="140359"/>
<file loc="NEEDTHIS2" id="137406"/>
<file loc="NEEDTHIS3" id="137545"/>
如何仅获取文件位置并将其存储在字符串数组中?
预期输出:
NEEDTHIS
NEEDTHIS2
NEEDTHIS3
文本文件包含属性,例如
<file loc="NEEDTHIS" id="140359"/>
<file loc="NEEDTHIS2" id="137406"/>
<file loc="NEEDTHIS3" id="137545"/>
如何仅获取文件位置并将其存储在字符串数组中?
预期输出:
NEEDTHIS
NEEDTHIS2
NEEDTHIS3
将文件加载到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");
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));