Как получить доступ к свойствам на XML-узле через linq? - PullRequest
1 голос
/ 22 сентября 2011

Я прочитал этот пост.

У меня есть этот XML:

<?xml version="1.0" encoding="utf-8" ?>
    <Export version="" srcSys="" dstSys="" srcDatabase="" timeStamp="">

    </Export>

Это то, что я пытался, но без удачи:

var xml = XElement.Parse(BuyingModule.Properties.Resources.Export);

Func<XElement, string, string> GetAttribute = (e, property) => e.Elements("property").Where(p => p.Attribute("name").Value == property).Single().Value;

var query = from record in xml.Elements("Export")
            select record;

var prop = GetAttribute(query.FirstOrDefault(), "version");

Как мне получить доступ к properties узла "Экспорт"?

Мне нужно установить эти properties

1 Ответ

3 голосов
/ 22 сентября 2011

Элемент Export не имеет элемент properties, что пытается найти ваш GetAttribute метод.

Я думаю, вы на самом деле хотите:

var element = xml.Element("Export"); // Just get the first element
var version = (string) element.Attribute("version");

Мне не понятно, почему вы использовали здесь выражение запроса и делегата - это просто вещи сложнее, чем вам нужно. Но Attribute(XName) - это, вероятно, то, чего вам не хватало ...

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