2012-02-14 11 views
1

私はこのようなデータを含むXMLファイルを持っている...カウント親の子ノードの2種類持っているノード - 具体的には1「少年」ノードおよび1「女の子」ノードごと

<parent> 
     <boy/> 
    </parent> 
    <parent> 
     <girl/> 
    <parent> 
    <parent> 
     <boy/> 
     <girl/> 
    </parent> 

を...と私両方のタイプの子ノードIEを持つ両親を数えたいと思っています.1人の少年と1人の少女。上記の例では、答えが1であるのは、少年と少女の両方が1人しかいないためです。私はXMLを照会するためにxpathを使用しています。私が現在持っていることは、このような何か...

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load(inXML); 
int ParentsWithBothKids = xmlDoc.SelectNodes("MY QUERY HERE!!!").Count; 

私はどちらかしてみてください、私は間違いなく使用している小規模なテストXMLファイルは、いくつかを持っているにもかかわらず、無効なXPathのものか、常に0を返すようにエラーをスロー様々なクエリです。

xpathクエリにはどのようなアイデアを使用できますか?

+0

を使用し、そのようなXPath式(ノードを選択しない)を評価するためには、XML – Nagg

+1

にLINQのを見て、「私がしようと、さまざまなクエリ」は何ですか? – AakashM

+0

少なくとも1人の少年と1人の少女または1人以上の少年と1人以上の少女? – Filburt

答えて

3

xpathクエリとしてparent[boy and girl]を試してください。

MSDNのXPath Examplesをご覧ください。

+0

私は以前これを試してみましたが、うまくいきませんでしたが、あなたの推薦で私はもう一度試しました(また、あなたもリンクしたMSDNの例についても演奏しました)。そして、それに気づきました... XMLは、それだと思った!ドー!だから私はXPathクエリを少しtweekedし、それは働いた。あなたの助けをありがとう - それは非常に有用な健全性のチェックだった。 – Stark

1

使用:このXPath式が評価されると

count(//parent[boy and girl]) 

、結果はそれらのそれぞれがboygirl子供を持っているように、XML文書内のすべてのparentの要素の数です。

XPathNavigator.Evaluate()

関連する問題