0
나는 쿼리를 쳤다. 제발 도와주세요.그룹 방법/그룹 가입 LINQ를 사용하여 XElements
나는
<Set type="Main">
<FirstUnit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>1</PrimaryKey>
</FirstUnit>
<Secondunit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>1</PrimaryKey>
<Exercise>Test</Exercise>
</SecondUnit>
<FirstUnit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>2</PrimaryKey>
</FirstUnit>
<Secondunit xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<CreateDate>2013-06-06T13:19:17.457</CreateDate>
<PrimaryKey>2</PrimaryKey>
<Exercise>Test</Exercise>
</SecondUnit>
</Set>
지금 내가 원하는 모든 그룹에 기본 키를 기반으로 단위 인 XML을 가지고있다. 예를 들어, FirstUnit 및 SecondUnit은 하나의 그룹에서 노드 값 "<Primarykey>
"이고 다른 그룹에서는 PrimaryKey
노드 값이 "2"이어야합니다. 나는 다음과 같은 쿼리를 시도
은 더 정제는
var elements = xDocument.GroupBy(a => a.Elements().Descendants().Where(x => x.Name.LocalName == "PrimaryKey").ToList());
감사 사전에, 아직에서 수행되어야한다. 단지 로컬 이름을 확인하는 Where
절을 사용하여 - 필요한 경우
// If <Set> is the document element, change Descendants("Set") to Root
var elements = xDocument.Descendants("Set")
.Elements()
.GroupBy(x => (int) x.Element("PrimaryKey"));
은 (요소의 네임 스페이스를 공급 : 그것은 나에게 보인다
고마워요. Jon, 두 개의 항목이있는 List으로 출력됩니다. 첫 번째에는 "FirstUnit"및 "SecondUnit"이 있어야합니다. 기타에는 두 번째 "FirstUnit"및 "SecondUnit 기본 키 기반 –
Baks