2011-12-14 17 views
2

文字列を含むnodeValueを持つ要素を探すXpathクエリを作成しました。XPathで同じ名前付き要素をクエリする

/campaigns/campaign[contains("7218322441485795", creative_id)] 

ただし、クエリするXMLには複数の<creative_id>要素があります。

<campaigns> 
    <campaign> 
     <creative_id>41485795</creative_id> 
     <creative_id>41485759</creative_id> 
     <creative_id>41485694</creative_id> 
     <resources> 
     .... 

問題は、クエリが最初creative_id要素を評価し、&第二ではないということです。

最初のcreative_id要素に限定されないXPathクエリを作成するにはどうすればよいですか?

+0

どのようにあなたは、このXPathクエリを呼ぶのです。そのcreative_id子供たちのいずれかが提供する文字列の一部と一致する場合

引数の順序が正しいと仮定すると、次の式がcampaign要素を返しますか? – Chris

+2

...それは... XPathですか? – mellamokb

+0

@Chris http://en.wikipedia.org/wiki/XPath –

答えて

3

XPath contains関数は、第2引数の文字列値が第1引数にある場合にtrueを返します。あなたの注文は不審なようです。あなたは現在、creative_idの文字列の値ではなく、指定された文字列の文字列値creative_idを探しています。

/campaigns/campaign[creative_id[contains("7218322441485795", .)]] 
+2

優秀!私は同じ解決策に何度も近づいたことを何度も知りません。ありがとうございました。 –

関連する問題