Я новичок в LINQ и пытаюсь запросить файл XML по атрибуту и значению элемента-потомка.
Вот фрагмент моего XML:
<redirurl>
<exceptionList state="FL">
<exception>
<plancode>ZZ</plancode>
<url>https://zzzz.com</url>
</exception>
</exceptionList>
<exceptionList state="NC">
<exception>
<plancode>AA</plancode>
<url>https://aaaa.com</url>
</exception>
<exception>
<plancode>BB</plancode>
<url>https://bbbb.com</url>
</exception>
</exceptionList>
</redirurl>
Я пытаюсь получить значение для URL по штатам и планам. Например, если атрибут состояния exceptionList = "N C" и plancode = "BB", я хочу получить URL-адрес "https://bbbb.com".
Вот мой код:
var xmlFilePath = "myFilePathHere";
XElement xelement = XElement.Load(xmlFilePath );
IEnumerable<XElement> urlAddress = from el in xelement.Elements("exceptionList")
where (string)el.Attribute("state") == "NC"
&& (string)el.Element("exception").Element("plancode") == "BB"
select el;
Я не могу правильно ответить на вопрос, чтобы спасти мою жизнь. Если я опущу третью строку запроса (строка плана), я получу в результате весь узел exceptionList. Я полагаю, что смогу пройти через него, чтобы получить план-код, но это не похоже на то, что нужно делать. Запрос как есть не возвращает результаты. Я потратил около 10 часов на это, делая уроки и просматривая примеры кода, но я просто не понимаю. Может кто-нибудь посоветовать, чего мне не хватает? Заранее спасибо.