簡體   English   中英

使用 xslt 在父節點中創建標簽

[英]use xslt to create tag in in parent node

假設我有一個類似這樣的 XML 文檔(請注意,出於我的目的,標簽出現在最終文檔中的順序並不重要,以防有所不同;我們只是使用 XML 作為花哨的鍵/值對裝置)

<MyRoot>
 various tags here I don't care about at the moment
 <child><GoldenTag>1234</GoldenTag></child>
</MyRoot>

注意 GoldenTag 的值並不總是 1234; 這只是為了說明。 現在,我想創建一個 SilverTag,它是 MyRoot 的(直接)子級,其值與 GoldenTag 相同,假設 GoldenTag 存在並且滿足各種其他條件。

我認為沒有好的方法可以做到這一點,因為如果我使用template mach='GoldenTag'那么模板的內容最終會出現在我想要的child標簽內。

MyRoot上的任何匹配當然也可以包括其他元素的條件,例如

<xsl:template match="MyRoot[child/GoldenTag and your-other-conditions]">
  <xsl:copy>
      <xsl:apply-templates/>
      <SilverTag><xsl:value-of select="child/GoldenTag"/></SilverTag>
  </xsl:copy>
</xsl:template>

根據馬丁的回答,我認為(希望?)這樣的事情應該有效:

<xsl:template match="child[GoldenTag and other-tests]">
    <xsl:copy-of select="."/>
    <SilverTag>
        <xsl:value-of select="GoldenTag"/>
    </SilverTag>
</xsl:template>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM