2013-07-21 1 views
2

Например, как я могу перечислить player1, player2 и player3 в .NET 4.0 ListView?Как перечислять только узлы 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(); 

Или получать имя Атрибуты:

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 

 Смежные вопросы

  • Нет связанных вопросов^_^