我有包含以下数据的XML文件。。。
<parent>
<boy/>
</parent>
<parent>
<girl/>
<parent>
<parent>
<boy/>
<girl/>
</parent>
我想统计一下同时拥有两种类型的子节点IE的父母:一个男孩和一个女孩。在上面的例子中,答案是1,因为只有一位父母同时有一个男孩和一个女孩。我正在使用xpath来查询XML。我现在拥有的是这样的东西。。。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(inXML);
int ParentsWithBothKids = xmlDoc.SelectNodes("MY QUERY HERE!!!").Count;
我尝试的各种查询要么将错误抛出为无效的xpath,要么总是返回0,即使我使用的小测试XML文件肯定有一些。
关于我可以使用什么xpath查询,有什么想法吗?
尝试将parent[boy and girl]
作为您的xpath查询。
查看MSDN上的XPath示例。
使用:
count(//parent[boy and girl])
当计算此XPath表达式时,结果是XML文档中所有parent
元素的计数,因此每个元素都有一个boy
和一个子girl
。
要评估这样的XPath表达式(不选择节点),请使用XPathNavigator.Evaluate()