<Contacts>
<Node>
<ID>123</ID>
<Name>ABC</Name>
</Node>
<Node>
<ID>124</ID>
<Name>DEF</Name>
</Node>
</Contacts>
在这里,我想获取元素名称(标记名称),例如通讯录,* 节点 *, ID ,* 名称 *使用linq to xml概念。我应该怎么做。
答案 0 :(得分: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();