For example, how can I list player1
, player2
, and player3
in a .NET 4.0 ListView
?
<?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>
With Linq to XML (which I suggest you to use with .Net 4.0) you can get them:
var xdoc = XDocument.Load(path_to_xml);
var players = xdoc.Root.Elements();
Or getting name attributes:
var names = from p in xdoc.Root.Elements()
select (string)p.Element("name");
There is no benefit of XmlDocument usage, because it also loads all xml into memory. If you want to get only xml element names:
var players = from p in xdoc.Root.Elements()
select p.Name.LocalName; // player1, player2, player3