Мне нужно иметь возможность получить один конкретный атрибут из элемента с определенным локальным именем, но с любым пространством имен (если вы знакомы с XMPP, вы поймете почему) Любые идеи кроме написания моих собственных (расширений перечислителя или единственного выбора) методов?
У меня есть следующее, но мне это совсем не нравится:
XAttribute from = (from c in elem.Attributes()
where c.Name.LocalName == "from"
select c).FirstOrDefault<XAttribute>();
XAttribute to = (from c in elem.Attributes()
where c.Name.LocalName == "to"
select c).FirstOrDefault<XAttribute>();
изменить: хотелось бы что-то вроде:
string val = (string)elem.Attribute("{*}to");
решение:
XAttribute from = elem.Attributes()
.FirstOrDefault(a => a.Name.LocalName == "from");
XAttribute to = elem.Attributes()
.FirstOrDefault(a => a.Name.LocalName == "to");