2013-10-11 31 views
0

我一直在四處尋找這一點,它可能是實際上是有沒有辦法做到這一點:在一次而不是每個節點選擇整套節點的遞歸

我的XML文件看起來在這樣一個點:

<para>Play</para> 
<para>MACBETH: My dearest love, <i>Duncan</i> comes here to-night.</para> 
<para>LADY MACBETH:And when goes hence?</para> 
<para>MACBETH:To-morrow, as he purposes. </para> 
<para>End</para> 

我發現選擇每個<para>爲自己的無數的方法,但我想所有的<para>節點(加上封閉的childNodes)在一次匹配和塊存儲在一個變量。 這甚至可能嗎?

爲了避免誤解:如果上面的塊被一個額外的節點所包圍,我們稱它爲<exmpl>,我會簡單地匹配<exmpl>的子節點並得到我想要的節點塊。如果沒有這樣的父節點,我如何實現相同的結果 - 使用具有唯一內容的同級('Play'和'End')而不是似乎工作?

回答

0

有運營商<<>>

<xsl:variable name="start" select="//para[. = 'Play']"/> 
<xsl:variable name="end" select="//para[. = 'End']"/> 
<xsl:variable name="block" select="$start, $start//following-sibling::para[. &lt;&lt; $end], $end"/> 

分組也可能有助於

+0

幫我找到一個解決方案,謝謝! – Beehgr

相關問題