Xml – LINQ выберите правильное значение узла и как выбрать другие
Всем привет,
Я создал XML-документ. Я вроде как посмотрел на Настройки C#, потому что это будет пользовательский сценарий конфигурации для моей программы. Мне нужно иметь его в определенном каталоге, который у меня уже есть, но теперь я пытаюсь получить правильные данные узлов. Как я могу выбрать конкретное значение узла, используя XML для linq?
Вот что у меня есть.
У меня есть 1 узел с несколькими значениями (путями) и еще один узел, который имеет тот же родительский узел, что и другой, я хочу получить второе значение.
Мне нужно второе значение "база данных". 'PDMDataBaseName’ и все пути в <filepaths>
Что я уже пробовал:
<pre><Configuration> <Settings> <UserProfile Name="UserPlus" Type="System.Boolean" Scope="User"> <Value Profile="(Default)">True</Value> </UserProfile> <DataBase Name="DataBaseName" Type="System.String" Scope="User"> <Value Profile="(Default)">TRACKER </Value> </DataBase> <DBTable Name="FileTableName" Type="System.String" Scope="User"> <Value Profile="(Default)">ScannedPDFtest</Value> </DBTable> <FilePaths Name="FileDirectories" Type="System.Collections.Specialized.StringCollection" Scope="User"> <Path>\\file01\public1\Eng Files .pdf</Path> <Path>C:\Users\tom\Documents\zTests</Path> </FilePaths> <DataBase Name="PDMDataBaseName" Type="System.String" Scope="User"> <Value Profile="(Default)">TRACKER_TEST</Value> </DataBase> Code to get userplus value var queryUser = from u in xml.Descendants("Settings") //where u.Element = "UserProfile" select u.Element("UserProfile").Value; lblUserPlus.Text = queryUser.First(); others I been trying without luck var queryFileTable = from ft in xml.Descendants("Settings") //where select ft.Element("DBTable").Value; lblFileTable.Text = queryFileTable.FirstOrDefault(); var queryFileDirs = from fd in xml.Descendants("Settings") // where fd.Element("DBTable").Attribute("PDMTableName") // select fd.Value; select fd.Element("DBTable").Attribute("PDMTableName"); lblFileDirs.Text = queryFileDirs.ToString();