我想在组标签之间选择所有具有我想要的名称的节点,但是我不确定如何执行此操作。下面是一个示例,其中我想选择组名称为“ DefaultSettings”的每个节点。
<group name="DefaultSettings">
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
</group>
<group name="NewSettings">
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
<tag></tag>
</group>
我目前正在尝试使用XmlDocument对象来选择所有节点,但是由于我不想选择名称为NewSettings的其他组,因此我不确定如何使Xpath正常工作。关于使用哪种Xpath公式或任何其他方式的任何建议将不胜感激。
假设这是您的XML
<groups>
<group name="DefaultSettings">
<tag />
<tag />
<tag />
<tag />
<tag />
<tag />
</group>
<group name="NewSettings">
<tag />
<tag />
<tag />
<tag />
<tag />
<tag />
</group>
</groups>
您可以尝试这样的事情:
XmlDocument xml = new XmlDocument();
xml.LoadXml(str); // suppose that str string contains "<groups>...</groups>"
XmlNodeList xnList = xml.SelectNodes("/groups/group[@name='DefaultSettings']");
foreach (XmlNode xn in xnList)
{
Console.WriteLine(xn.InnerText);
}