2014-10-04 2 views
0

XmlSchema 개체가 있습니다. 어떤 요소 속성이 있습니다. 첫 번째 요소이 필요합니다. foreach/break (어리석은 것으로 보일 것입니다)를 쓰지 않는 방법을 이해할 수 없습니다. 좋은 방법이 있습니까?XmlSchema.Elements에서 첫 번째 항목을 얻는 방법

EDIT : 유일한 방법은 다음과 같습니다. getenumerator/movenext/value;

EDIT2 : 중 하나는 XmlSchema.Elements.Values ​​(ICollection)를 의미있는 형식으로 캐스팅하여 Linq와 함께 사용하는 것입니다. 문제는 그 유형을 찾을 수 없다는 것입니다. GetType을 나에게 이름을 제공합니다 : "System.Xml.Schema.XmlSchemaObjectTable + ValuesCollection을"

나는 ObjectExplorer에서이 유형을 볼 해달라고 내가 캐스팅 기운 다 .. 당신이 솔루션 작업 한 경우

가 답변 해주세요 머리에 오는 모든 것을 던지기보다. 감사.

당신이

예를 필요에 따라 이름 또는 요소의 값에

+0

linq를 사용하여 조사하십시오. – sjramsay

+0

요소의 Items.First() 속성을 사용하여 첫 번째 항목을 가져갈 수 없습니까? – FrsECM

+0

linq는 ienumerable과 함께 작동합니다. 이게 아니야. –

답변

1

사용 LINQ,

var v = yourObject.Elements.Names.OfType<XmlQualifiedName>().FirstOrDefault(); 
var w = yourObject.Elements.Values.OfType<XmlSchemaElement>().FirstOrDefault(); 

===

편집 : 추가 OfType <>은 ICollection에를 얻을 수 있습니다 <>을 사용하여 FirstOrDefault를 사용할 수 있습니다.

참고 :이 솔루션은 예제에서 확인했습니다. XmlSchema가 http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschema%28v=vs.110%29.aspx 인 경우 요소 이름이나 값이 다른 유형 인 경우 OfType <>

+0

그런 속성과 메서드가 있는지 확인하십시오. – abatishchev

+0

어둠 속에서 답을하고 답답함을주십시오 ... 이름과 값은 있지만 (내 EDIT2 참조) - ** 정확하게 캐스팅하는 방법을 모르겠다 ** LINQ를 적용합니다. 네가 말해 준다면 나는 네가 대답하도록 표시 할 것이다! –

관련 문제