LINQ : 네임 스페이스이지만 특정 이름으로 속성을 얻으십시오.
-
08-07-2019 - |
문제
특정 로컬 이름이지만 모든 네임 스페이스를 가진 요소에서 단일 특정 속성을 얻을 수 있어야합니다 (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");
해결책
구문이 마음에 들지 않으면 이것을 사용할 수 있습니다.
elem.Attributes().FirstOrDefault(a=>a.Name.LocalName == "from");
제휴하지 않습니다 StackOverflow