Member 13329806 Ответов: 2

Как я могу получить значение идентификатора элемента get a?


У меня есть 2 файла конфигурации xml, которые содержат либо:

1: & lt;User Server=" имя сервера "Database=" имя базы данных " />

2: & lt;User Server=" имя сервера " Database=" имя базы данных "Login= "логин" Password=" пароль "ReportOpenType=" предварительный просмотр " />

Я просто хочу иметь возможность извлечь имя сервера из пользовательского сервера= " имя сервера"

обратите внимание, что я использовал имя сервера и т. д. По соображениям защиты данных.

Я был бы очень признателен за быстрый ответ.

Что я уже пробовал:

Я уже пробовал это
XDocument xDoc = XDocument.Load(exepath);
            //xDoc.
            string nodeValue = string.Empty;
var node = xDoc.Descendants().Where(n => n.Name == nodeName).FirstOrDefault();



                        if (node != null)
                        {
                            nodeValue = node.Value;
                        }


это работает на других, которые имеют
<server>server name</server>
, но не там, где есть <User Server="имя сервера", как описано выше.

2 Ответов

Рейтинг:
1

RickZeeland

Вместо того чтобы получить значение, попробуйте получить атрибут:

string value = xDoc.Root.Element("User").Attribute("Server").Value;


Рейтинг:
1

Bryian Tan

Вы пробовали метод атрибутов? Я не знаю, что в XML-файле, предполагая, что это единственная строка в XML-файле.

<User Server="server name" Database="database name" Login="login" Password="password" ReportOpenType="Preview" />

Вот код для получения значения сервера
var serverName = (from s in xDoc.Descendants("User")
                           select s.Attribute("Server").Value).FirstOrDefault ();


Выход:
имя сервера