Xml 如何使用LINQ识别特定节点是否存在?
示例XML:Xml 如何使用LINQ识别特定节点是否存在?,xml,linq,Xml,Linq,示例XML: <MenuDataResult> <Items> <Item> <ItemType>Submenu</ItemType> <ItemTitle>Level22</ItemTitle> <Menu> <MenuSelected>false</MenuSelected> <Child
<MenuDataResult>
<Items>
<Item>
<ItemType>Submenu</ItemType>
<ItemTitle>Level22</ItemTitle>
<Menu>
<MenuSelected>false</MenuSelected>
<ChildMenuSelected>false</ChildMenuSelected>
</Menu>
</Item>
<Item>
<ItemType>Submenu</ItemType>
<ItemTitle>Level21</ItemTitle>
<Menu>
<MenuSelected>false</MenuSelected>
<!--if ChildMenuSelected = true -->
<ChildMenuSelected>true</ChildMenuSelected>
<Item>
<ItemType>Submenu</ItemType>
<ItemSubType>0</ItemSubType>
<Menu>
<!--if MenuSelected = true -->
<MenuSelected>true</MenuSelected>
<ChildMenuSelected>false</ChildMenuSelected>
<!-- whether this below item exists or not -->
<Item>
<ItemType>Submenu</ItemType>
<Menu>
<MenuSelected>false</MenuSelected>
<ChildMenuSelected>false</ChildMenuSelected>
</Menu>
</Item>
</Menu>
</Item>
<Item>
<ItemType>Submenu</ItemType>
<ItemTitle>Level32</ItemTitle>
<Menu>
<MenuSelected>false</MenuSelected>
<ChildMenuSelected>false</ChildMenuSelected>
</Menu>
</Item>
<Item>
<ItemType>Library</ItemType>
<ItemTitle>about_banner</ItemTitle>
</Item>
<Item>
<ItemType>ExternalLink</ItemType>
<ItemTitle>Google</ItemTitle>
</Item>
</Menu>
</Item>
</Items>
</MenuDataResult>
选择所有节点,然后比较标记名称
var xmlString = @"<?xml version=""1.0""?><Root><NodeA></NodeA></Root>";
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
var nodes = xmlDoc.SelectNodes("//*");
var hasNodeA = nodes.Cast<XmlNode>().Any(n => n.Name == "NodeA"); // true
var hasNodeB = nodes.Cast<XmlNode>().Any(n => n.Name == "NodeB"); // false
你能对你的问题作一个恰当的描述吗?你的问题不清楚。