문제

특정 로컬 이름이지만 모든 네임 스페이스를 가진 요소에서 단일 특정 속성을 얻을 수 있어야합니다 (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");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top