2013-07-21 44 views
2

例如,如何在.NET 4.0中列出player1,player2player3ListView如何僅列出位於根節點正下方的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

使用LINQ到XML(我建議你使用.NET 4.0中使用),你可以讓他們:

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

或得到name屬性:

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

沒有XmlDocument用法的好處,因爲它也將所有xml加載到內存中。如果您只想獲取xml元素名稱:

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