2011-12-14 15 views
0

特定の構造を含む最後のノードはどのようにして見つけることができますか?xpath/xslt:サブノードに応じて最後のノードを見つける

<defect-event> 
     <event-assigned-to> 
      <assigned-to-user> 
       <last-name>Doe</last-name> 
       <first-name>John</first-name> 
       <middle-name></middle-name> 
      </assigned-to-user> 
     </event-assigned-to> 
    </defect-event> 

「ユーザに割り当てられた」サブノードを持つものと同じレベル、下または上のレベルで、多くの「障害イベント」ノードが存在する可能性があります。 「割り当てられたユーザ」のサブノードを持つ複数の「障害イベント」ノードが存在することもあります。

"assigned-to-user"サブノードを含む最後の1つの "defect-event"ノードを見つける必要があります。

ありがとうございます!

答えて

0

これらの行に何かが何をしたい、おそらくです:

効果で
defect-event[event-assigned-to[assigned-to-user]][position()=last()] 

は、あなたは私を見つける」言っているすべてのassigned-to-userを含むevent-assigned-toが含まれ、その後、ちょうど私にその1を与えるdefect-eventposition()last() "です。

あなたは、あなたがノードを見つけようとしているときのコンテキストとノードに何をしているのかによって、これを微調整する必要があるかもしれません。ループapply-templatesとは対照的にループfor-each)。

+0

ありがとうございますEmma、それは動作しますが、ノード名を取得する方法を見つけることができません。たとえば、 'last-name' ' '、次に私は何を変えなければならないか知っていますか? – user706058

+0

私はちょうど見つけた: '' ありがとう! – user706058

+0

@ user706058それを知ってうれしかったし、私の提案はあなたに 'defect-event'要素を与えてくれたので、あなたはその子供たちの下をナビゲートして所望の情報を得ることができます。 –

関連する問題