У меня есть файл xmfile, показанный ниже, где мне нужно получить все значения узлов CIName,Type,Status,FriendlyName,AccountNo
. Я пытался получить результат, используя XDocument
без успеха.Как получить значения из xml-файла с помощью xdocument
<?xml version="1.0" encoding="utf-8"?>
<RetrievedeviceListResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" schemaRevisionLevel="0" returnCode="0" status="SUCCESS" message="Success" schemaRevisionDate="2015-03-24">
<instance uniquequery="file.device,logical.name="mss-abb-aejaljabelalifz-ra"" query="" xmlns="http://schemas.hp.com/SM/7">
<file.device type="Structure">
<CIName type="String">mss-abb-aejaljabelalifz-ra</CIName>
<Type type="String">networkcomponents</Type>
<Status type="String">In use</Status>
<FriendlyName type="String">Jabel Ali Free Zone</FriendlyName>
<Company type="String">ABB - MWAN</Company>
</file.device>
<file.networkcomponents type="Structure">
<AccountNo type="String">1444016683</AccountNo>
</file.networkcomponents>
<attachments xsi:nil="true" />
</instance>
<instance uniquequery="file.device,logical.name="mss-abb-aldar-ra"" query="" xmlns="http://schemas.hp.com/SM/7">
<file.device type="Structure">
<CIName type="String">mss-abb-aldar-ra</CIName>
<Type type="String">networkcomponents</Type>
<Status type="String">In use</Status>
<FriendlyName type="String">Al Dar AUH Main</FriendlyName>
<Company type="String">ABB - MWAN</Company>
</file.device>
<file.networkcomponents type="Structure">
<AccountNo type="String">1222229614</AccountNo>
</file.networkcomponents>
<attachments xsi:nil="true" />
</instance>
<instance uniquequery="file.device,logical.name="mss-abb-aldar-rb"" query="" xmlns="http://schemas.hp.com/SM/7">
<file.device type="Structure">
<CIName type="String">mss-abb-aldar-rb</CIName>
<Type type="String">networkcomponents</Type>
<Status type="String">In use</Status>
<FriendlyName type="String">Al Dar-AUH-Backup</FriendlyName>
<Company type="String">ABB - MWAN</Company>
</file.device>
<file.networkcomponents type="Structure">
<AccountNo type="String">1222222368</AccountNo>
</file.networkcomponents>
<attachments xsi:nil="true" />
</instance>
</RetrievedeviceListResponse>
Я использовал следующий код
XDocument xdoc = XDocument.Load(path);
var authors = xdoc.Descendants("RetrievedeviceListResponse");
foreach (var author in authors)
{
Console.WriteLine("{0}{1}",author.Name, author.Value);
}
Так что же это ваша проблема. Xml, который вы указали, недействителен. Он не имеет закрывающего тега для RetrievedeviceListResponse. Можете ли вы загрузить файл? Или, может быть, вы не можете читать ценности? –
Вы изучали использование 'foreach (примеры XElement' в строке – MethodMan