2013-07-19 1 views
0

에 의해 XML 속성의 업데이트를 제외합니다. 하나는 Attributed as Details를 제외한 모든 그룹 노드를 선택하고 값을 임의의 GUID로 변경합니다. 나는 임의의 이름으로 업데이트지고 모든 노드 속성이 결국 코드를 ​​실행할 때어떻게 속성 이름

나는 그러나 다음

var groupName = from gn in report.Descendants(ns + "Group") 
           where gn.Name != "Details" 
           select gn; 

    foreach (var name in groupName) 
    { 
     string randomName = GenerateUniqueName("Group"); 
     name.SetAttributeValue("Name",randomName); 
    } 

을 시도했습니다. 노드 <Group Name="Details" />이 루프에서 제외 될 것으로 예상됩니다. 어떤에서 (항상 Group 될 것입니다 - 나는 당신은 요소의 이름을 찾고

답변

2

Name = "Deatils"

-cheers이 들어있는 그룹 노드를 제외 SELECT 문에서 실종 무엇

네임 스페이스). 이것이 바로 XNode.Name 속성이 반환하는 것입니다.

var groupName = from gn in report.Descendants(ns + "Group") 
       where (string) gn.Attribute("Name") != "Details" 
       select gn; 

가 개인적으로 나는 그 생각에 대한 쿼리 식을 사용하지 것이다 : 당신은 Name 속성의을 추출 할. 다음을 사용하십시오 :

var groupName = report.Descendants(ns + "Group") 
         .Where(gn => (string) gn.Attribute("Name") != "Details"); 
+0

속성 대 노드에 대한 설명 주셔서 감사합니다. 그리고 쿼리 식에 동의합니다. 이름을 사용하고 특성을 사용하지 않았기 때문에 이전에 작동하지 못했습니다. – rlcrews