Я хотел бы прочитать значения браузера и языка из прикрепленного файла xml, когда я укажу значение имени виртуальной машины. Я попытался запустить метод ниже, но я продолжаю получать ошибки. Может ли кто-нибудь предложить исправление для моего кода или лучший способ получить то, что я хочу? Thnaks очень много. J.Как читать заданное значение узла xml с помощью LINQ?
<?xml version='1.0' encoding='utf-8'?>
<automationSettings>
<!--VM settings on ESX Server-->
<VM name="DE-2K8" language="de" powerOn="true">
<vmClients>
<vmClient name="ITXP" language="it"/>
</vmClients>
<guest>
<browser value = "firefox"/>
<language value = "de"/>
</guest>
</VM>
<VM name="EN2008" language="en" powerOn="true">
<vmClients>
<vmClient name="IT-2K8R2ENT64X" language="it"/>
</vmClients>
<guest>
<browser value = "chrome"/>
<language value = "en"/>
</guest>
</VM>
</automationSettings>
Вот код, я использую, чтобы попытаться получить браузера или языковые значения:
public static string ReadVMSettings(string systemName, string section, string name)
{
try
{
systemsFilePath = @"C:\Text.xml";
Console.WriteLine("Systems.xml path is: " + systemsFilePath);
XDocument systemXML = XDocument.Load(systemsFilePath);
var result = from vm in systemXML.Descendants("automationSettings")
.Descendants("VM")
.Descendants(section)
where vm.Attribute("name").Value == systemName
select vm.Element(name).Attribute("value").Value;
return result.First();
}
catch (Exception ex)
{
Console.WriteLine("ReadVMSettings exception: " + ex.ToString());
return string.Empty;
}
}
Называйте это, как это: ReadVMSettings ("EN2008", "гость", "язык");
Thnaks.
быть более точным - то, что ошибки вы получаете? Благодарю. – mayabelle