XML 문서를 쿼리하고 METEDATA 태그 내부의 COUNT 태그에 저장된 카운트를 반환하려고합니다. 문제는 프로그램에서 사용하기 위해 속성 strCount에 액세스하는 데 어려움이 있습니다. Ive는 IEnumerable을 통해 루핑을 고려했지만 더 깨끗한 방식으로 값을 액세스 할 수 있기를 기대했습니다. countQ [ "strCount"]와 같이 countQ.strCount를 반환합니다. 나는이 인스턴스에서 작동하지 않는다고 생각하지만 인덱스 나 루프와는 반대로 값을 원한 속성의 이름을 사용하려는 욕구를 설명하고자했습니다.IEnumerable 내부의 특정 속성에 액세스
CODE
Private XDocument doc = XDocument.Load(path);
public class entityCount
{
public string strCount { get; set; }
}
public IEnumerable<entityCount> queryCount(){
var countQ = this.doc.Descendants("METADATA") .Select(m => new entityCount {
strCount = m.Element("COUNT").Value
});
return countQ.....?;
}
단축 XML
<PRODUCTION_SET>
<METADATA>
<COUNT>322</COUNT>
</METADATA>
<ENTITY>
<METADATA>
<ID>1</ID>
<foo>x</foo>
<bar>y</bar>
</METADATA>
</ENTITY>
.
.
.
.
.
<ENTITY>
<METADATA>
<ID>322</ID>
<foo>x</foo>
<bar>y</bar>
</METADATA>
</ENTITY>
</PRODUCTION_SET>
이것은 형식 오류를 반환합니다. "Implicity can not Implicity; namespace.enitiyCount to System.Collection.Generic.IEnumerabl 캐스트가 없습니다. –
LCaraway
죄송합니다. IEnumerable 대신 entityCount를 반환하도록 변경했습니다. 다시 찾고 싶습니까? 그러면 다음과 같이 사용할 수 있습니다 :'queryCount(). strCount' – Neme
오, 방금 그걸 보았습니다!이게 얼마나 깨끗한 지요? – LCaraway