2013-07-21 3 views
2

예를 들어 .NET 4.0 ListViewplayer1, player2player3을 어떻게 나열 할 수 있습니까?루트 노드 바로 아래에있는 XML 노드 만 나열하는 방법

(I 닷넷 4.0 사용하도록 제안) LINQ to XML을 가진
<?xml version="1.0"?> 
<players> 
    <player1> 
    <name>playername</name> 
    <age>18</age> 
    <gender>m</gender> 
    </player1> 
    <player2> 
    <name>playername</name> 
    <age>18</age> 
    <gender>m</gender> 
    </player2> 
    <player3> 
    <name>playername</name> 
    <age>18</age> 
    <gender>m</gender> 
    </player3> 
</players> 
+0

XPath를 사용하십시오. http://support.microsoft.com/kb/308333 – Deep

답변

4

당신이 그들을 얻을 수 있습니다 :

var xdoc = XDocument.Load(path_to_xml); 
var players = xdoc.Root.Elements(); 

또는 점점 이름 속성 없습니다 :

var names = from p in xdoc.Root.Elements() 
      select (string)p.Element("name"); 

더를이 모든 xml을 메모리에로드하기 때문에 XmlDocument 사용의 이점을 누릴 수 있습니다. xml 요소 이름 만 가져 오려는 경우 :

var players = from p in xdoc.Root.Elements() 
       select p.Name.LocalName; // player1, player2, player3