0
<Contacts>
       <Node>
           <ID>123</ID>
           <Name>ABC</Name>
       </Node>
       <Node>
           <ID>124</ID>
           <Name>DEF</Name>
       </Node>
</Contacts>

ここでは、連絡先、*ノード*、ID、*名前*などの要素名(タグ名)をlinqtoxmlの概念を使用して取得したいと思います。

4

1 に答える 1

2

これを試して:

var xml = @"<Contacts>
                    <Node>
                        <ID>123</ID>
                        <Name>ABC</Name>
                    </Node>
                    <Node>
                        <ID>124</ID>
                        <Name>DEF</Name>
                    </Node>
            </Contacts>";
var xdoc = XDocument.Parse(xml);
var namelist = xdoc.Descendants()
                    .Select(i => i.Name.ToString())
                    .Distinct()
                    .ToList();

あなたが得るでしょう:

{"Contacts","Node","ID","Name"}

最初のノードの名前リストを取得したい場合

var nodes = xdoc.Descendants(XName.Get("Node"));
var firstNode = nodes.First();
var namelist = firstNode.Descendants()
                    .Select(i => i.Name.ToString())
                    .Distinct()
                    .ToList();
于 2012-08-08T04:07:20.833 に答える