Как написать код, чтобы найти элемент в каталоге в Linq - PullRequest
0 голосов
/ 05 ноября 2019

Как найти каждый файл в одном каталоге XML-файлов и получить значение одного элемента?

Я попытался выполнить цикл в Linq:

var files = Directory.GetFiles(C:\Users\valen\Downloads\2019-11-04 apmt, "*.xml", SearchOption.AllDirectories);
foreach (var file in files) {
    var doc = XDocument.Load(file);

Мне нужно найти грузэлемент в <>.

1 Ответ

0 голосов
/ 05 ноября 2019

Сложно помочь, когда в OP очень мало информации о вашем XML. Предполагая, что вы ищете Элемент ShipmentId в своих XML-файлах, вы можете искать в XML-файле с помощью Linq. Например,

var listOfShipmentIds = new List<string>();
var files = Directory.GetFiles(folderToSearch, "*.xml", SearchOption.AllDirectories);

foreach(var file in files)
{
        var dataRead = XDocument.Load(file)
                            .Root
                            .DescendantNodes()
                            .OfType<XElement>()
                            .Where(x=>x.Name.LocalName.Equals("ShipmentId"))
                            .Select(x=>x.Value);
        listOfShipmentIds.AddRange(dataRead);
}

Это позволит вам проанализировать файлы XML и получить указанное значение элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...