Я пытаюсь изменить веб-сайт, который был создан другими веб-разработчиками.C# XML Выберите несколько узлов
Данная деталь читает файл данных XML и отбрасывает данные для отображения на карте Google.
У них есть строка кода;
string path = Server.MapPath(OutageXmlVirtualPath); //path to XML file
OutageData outages = XMLUtil.Deserialize<OutageData>(path);
Outage outage = outages.Outages.FirstOrDefault(o => o.PostCodes.Any(p => FoundOutagePostcode(p)) && !o.Planned);
Это переносит первую запись в XML, которая соответствует почтовому индексу, который пользователь ввел в текстовое поле. (lastOrDefault работает также)
Проблема с этим однако заключается в том, что почтовый индекс, который они вводят, может появляться более одного раза. В другом узле XML. Так что я хочу сделать, это отбросить все записи в соответствующем XML. Не только первый. Я вижу, что есть методы «Все» и «SelectMany», но не знаю, как их реализовать в моем коде.
Я бы счел себя полным новичком в этой области.
Если кто-то может оказать любую помощь, которая была бы весьма признательна.
С наилучшими пожеланиями,
Chris
образец XML
<?xml version="1.0" encoding="utf-16"?>
<OutageData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<TimeStamp>2013-12-16T06:38:00.1706983+00:00</TimeStamp>
<Outages>
<Outage>
<Region>South West</Region>
<IncidentID>INCD-83651-m</IncidentID>
<ConfirmedOff>1</ConfirmedOff>
<PredictedOff>0</PredictedOff>
<Restored>0</Restored>
<Status>In Progress</Status>
<Planned>false</Planned>
<StartTime>2013-12-14T18:03:00</StartTime>
<ETR>2013-12-16T12:00:00</ETR>
<Voltage>LV</Voltage>
<PostCodes>
<string>PL1 4RL</string>
<string>PL2 1AF</string>
<string>PL2 1AG</string>
<string>PL2 1AH</string>
</PostCodes>
<Sensitive>1</Sensitive>
</Outage>
<Outage>
<Region>West Midlands</Region>
<IncidentID>INCD-12499-I</IncidentID>
<ConfirmedOff>0</ConfirmedOff>
<PredictedOff>0</PredictedOff>
<Restored>0</Restored>
<Status>In Progress</Status>
<Planned>true</Planned>
<StartTime>2013-12-13T10:00:00</StartTime>
<ETR xsi:nil="true" />
<Voltage>HV</Voltage>
<PostCodes>
<string>SY7 9AX</string>
<string>SY7 9AY</string>
<string>SY7 9AZ</string>
<string>SY7 9BE</string>
</PostCodes>
<Sensitive>0</Sensitive>
</Outage>
</Outages>
</OutageData>
'var' - это, конечно,' IEnumerable ', который вы затем можете сделать вокруг цикла foreach; –