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

在这里,我想使用 linq to xml 概念获取元素名称(标签名称),例如联系人、*节点*、ID、*名称*。我该怎么做。

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 回答