Упрощенный XML-файл, который мне нужно декодировать:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:deliverylistResponse xmlns:ns2="http://tdriverap3.wsbeans.iseries/">
<return>
<COUNT>3</COUNT>
<DELIVERIES>
<ADD1>1300 address 1</ADD1>
<CITY>NICE CITY</CITY>
<ZIP>85705</ZIP>
</DELIVERIES>
<DELIVERIES>
<ADD1>40 S PINAL PKWY AVE</ADD1>
<CITY>FLORENCE</CITY>
<ZIP>85132</ZIP>
</DELIVERIES>
<DELIVERIES>
<ADD1>1825 EAST MAIN</ADD1>
<CITY>CHANDLER</CITY>
<ZIP>85286</ZIP>
</DELIVERIES>
<ERRORCODE/>
<RUNDATE>09/26/2018</RUNDATE>
</return>
</ns2:deliverylistResponse>
</soap:Body>
</soap:Envelope>
Я использую следующее, чтобы попытаться декодировать каждый из отдельных адресов в коде.
Я не могу понять, какполучить к ним доступ.
XElement xelement = XElement.Load(@"e:\test\X2.xml");
IEnumerable<XElement> addresses = xelement.Elements();
foreach (var address in addresses)
{
Console.WriteLine(address);
Console.WriteLine(address.Element("CITY").Value);
}
Первый писатель работает (выводит все дерево XML), второй говорит: «System.Xml.Linq.XContainer.Element (...) возвратил ноль» - я пыталсяиспользуя DELIVERIES, COUNT, Body и т. д. *
Очевидно, что я не говорю правильно, как пройти через структуру, но я не знаю, как дальше с ней ..
ОБНОВЛЕНИЕ: Благодаря некоторой помощи я понял, как это сделать с помощью Linq.Я все еще хотел бы иметь возможность десериализовать его, если у кого-то есть указатель.Я следовал нескольким учебникам, но несколько уровней этого XML, кажется, отбрасывают меня.
Я создал класс для хранения данных, но это насколько мой успех с этим путем пошел.
Спасибо, Джо