2015-10-16 42 views
0

我需要一些幫助來處理我的XSL轉換。它是一種XML到XML的轉換。XSLT:獲取元素的內容並將其放在其他地方

我有這樣的XML結構:

<book> 
    <chap> 
     <dev> 
      <p>This is some text<apnb id="N1">blah blah blah</p> 
      <p>...</p> 
      <p>...</p> 
      <quote>...</quote> 
     </dev> 
     <defnotes> 
      <ntb id="N1">This is the footnote corresponding to the element apnb</ntb> 
     </defnotes> 
    </chap> 
</book> 

隨着XSLT轉換,我需要把ntb元素的內容爲,將取代apnb元素,直接在段落內的說明元素。我嘗試創建一個xsl:variable name="N1"來放置元素的文本,然後在適當的位置創建note元素並放入xsl:value-of select="$N1"。但它不起作用。我認爲我的XPATH表達式可能是錯誤的(因爲我是XSLT的初學者)。

我希望你能理解我的問題。預先感謝您的所有答案。

弗洛

+1

_apnb_不是元素!請在此發佈您的預期輸出和試用的XSLT,以便我們可以爲您提供幫助。 –

+0

請同時添加您使用的xslt版本或者您想使用 – Mofty

+1

歡迎。這裏有很多人樂於幫助您調試XSLT代碼。但首先他們需要看你的代碼。 –

回答

0

中的XPath應該是這樣的:

<xsl:value-of select="//ntb[@id='N1']" /> 

即發現有一個屬性的ID等於 'N1' 的所有非關稅壁壘元素。 如果您沒有重複名稱'N1',這應該可以工作。

此外,您的apnb標記的XML無效,因爲它缺少結束標記。

您的代碼在這裏:

<apnb id="N1"> 

應該是:

<apnb id="N1"/> 
+0

謝謝!實際上,你給我的Xpath工作並解決了我的問題。你對apnb標籤是正確的,我忘了把結束標籤。對於那個很抱歉。 – FloD

相關問題