1
我有一個xml,其中我的標記<T>
僅用於轉換,如果在其後面至少有一個標記<C>
作爲兄弟。匹配標記如果在以下兄弟中存在特定標記
<Doc>
<T>T1</T>
<A>A1</A>
<T>T2</T>
<C>C2</C>
<T>T3</T>
<X>X1</X>
</Doc>
應該變成:T1A1T2C2X1
我目前有:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:element name="Doc">
<xsl:apply-templates select="*" />
</xsl:element>
</xsl:template>
<xsl:template match="A">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="C">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="X">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="T[following-sibling::* ??? exists C">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="*">
</xsl:template>
</xsl:stylesheet>
不知道如何實現match="T[following-sibling::* ??? exists C"
我認爲這將無法獲得正確的結果,如果樣本XML有** C **元素作爲第一個子元素。 – 2012-02-17 09:24:20
@TimC,謝謝。編輯。 – 2012-02-17 09:27:26
謝謝。有沒有辦法做到這一點:所有其他標籤都被忽略了,就像我原來的標籤一樣,A,C和X都有特定的規則,而忽略了其他標籤? – stracktracer 2012-02-17 11:17:17