我有XML:
<?xml version="1.0" encoding="utf-8" ?>
<IMPORT mode="FULL">
....
</IMPORT>
我正在尝试使用以下XSLT样式表转换它:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:element name="import">
<xsl:attribute name="mode">
<xsl:value-of select="@mode"/>
</xsl:attribute>
....
</xsl:element>
</xsl:template>
我的问题是以下行似乎不起作用:
<xsl:value-of select="@mode"/>
因为我得到了
<import mode="">
而不是预期的:
<import mode="FULL">
任何线索?
答案 0 :(得分:8)
您实际上并不在IMPORT
元素上。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="IMPORT"/>
</xsl:template>
<xsl:template match="IMPORT">
<xsl:element name="import">
<xsl:attribute name="mode">
<xsl:value-of select="@mode"/>
</xsl:attribute>
....
</xsl:element>
</xsl:template>
答案 1 :(得分:7)
尝试使用<xsl:value-of select="IMPORT/@mode"/>
答案 2 :(得分:1)
试试这个:
<xsl:template match="IMPORT">
<xsl:element name="import">
<xsl:attribute name="mode">
<xsl:value-of select="@mode"/>
</xsl:attribute>
</xsl:element>
</xsl:template>