0
這裏是我的XSL用於轉換。XSL:匹配模板不起作用
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="EL3">
<te>ABC</te>
</xsl:template>
這是源XML的什麼,我想改造。
<EL1 xmlns="http://anyurl.com" language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<EL3>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
</EL3>
</set1>
</EL2>
這是改造後的目標-XML。
<EL1 xmlns="http://anyurl.com" language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<EL3>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
</EL3>
</set1>
</EL2>
匹配不相對於命名工作。如果我從Source-XML中刪除xmlns =「http://anyurl.com」,我會得到我想要的結果。問題是我從外部系統獲取Source-XML,之前我無法更改Source-XML。我如何編輯XSL以等待這樣的結果?
<EL1 language="2">
<EL2>
<set1>
<value1>12</value1>
<value2>34</value2>
<value3>45</value3>
</set1>
</EL2>
<EL2>
<set1>
<value1>AB</value1>
<value2>CD</value2>
<value3>EF</value3>
<te>ABC</te>
</set1>
</EL2>
</EL1>
非常感謝。這對我有用,我的問題解決了。完善! – user3123034