2011-08-23 2 views
0

일부 속성 : 페이지로드에서알 수있는 방법 아이는 XML 파일에서 XML의

<section name="header"> 
    <placeholder name="HeaderLeftPane"></placeholder> 
    <placeholder name="HeaderCenterPane"></placeholder> 
    <placeholder name="HeaderRightPane"></placeholder> 
</section> 

내가이를

XmlDocument XD = new XmlDocument(); 
     XD.Load(System.Web.HttpContext.Current.Server.MapPath("Test.xml")); 
    XmlNodeList nodeListName = XD.SelectNodes("layout/child::node()"); 
     foreach (XmlNode xNode in nodeListName) 
     { 
      string name = xNode.Attributes["name"].Value; 
      int child = xNode.ChildNodes.Count; 
      LblDisplay.Text += name + child; 
      LblDisplay.Text += "<br/>"; 
     } 

결과 header3 .I이 name 괜찮나 할 수있는 속성 placeholder 모든 아이를 잡으려면입니다 내가 PLZ 도움말을 잡는다.

답변

0

나는 당신이 모든 placehoders를 돌아 다니고 있다고 생각하지만 당신을 바꿉니다. 당신이해야 할 것은 목록에 이름을 추가 한 다음 표시 foreach 루프에 나중에 텍스트 상자에

예를

XmlDocument XD = new XmlDocument(); 
XD.Load(System.Web.HttpContext.Current.Server.MapPath("Test.xml")); 
XmlNodeList nodeListName = XD.SelectNodes("section/placeholder"); 
IList<string> names = new List<string>(); 
foreach (XmlNode xNode in nodeListName) 
{ 
    string name = xNode.Attributes["name"].Value; 
    int child = xNode.ChildNodes.Count; 
    names.Add(name); 
} 

화면이

string nameString = string.Empty; 
foreach (string name in names) 
{ 
    nameString += name + " "; 
} 

LblDisplay.Text = nameString; 
+0

덕분에 같은 속성 빠른 응답을 위해. 나는 단지 자식 노드를 계산할 수 있지만 display.in 위의 attrributes 이름을 잡을 수 없다고 말하고 싶습니다. 위에서 'HeaderLeftPane'' HeaderCenterPane'' HeaderRightPane'을 lblDisplay.Any 아이디어에 표시하려고합니다. –

+0

위 코드가 도움이 되나요? – Bobby

1
 XmlDocument XD = new XmlDocument(); 
     XD.Load(System.Web.HttpContext.Current.Server.MapPath("Test.xml")); 

     XmlNodeList listChildNodes = XD.SelectNodes("//*[name()='placeholder']"); 

     List<string> names = new List<string>(listChildNodes.Count); 
     foreach (XmlNode nodeChild in listChildNodes) 
     { 
      names.Add(nodeChild.Attributes["name"].InnerText); 
     } 

     Console.WriteLine(string.Join(";", names.ToArray())); 
관련 문제