我正在尝试使用XSLT转换RSSTV XML。
我遇到的问题是我需要XML看起来像这样:
<?xml version="1.0"?><rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0"><channel>
但是,我无法使用此属性创建rss元素。
我尝试使用<xsl:attribute>
但未能实现它。
答案 0 :(得分:1)
我真的不明白你的问题是什么:
以下是两种方法。
1)假设命名空间在xslt中是硬编码的。
<xsl:template match="/">
<rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0"></rss>
</xsl:template>
2)假设您从其他参数中获取命名空间:
<xsl:template match="/">
<xsl:variable name="namespace">http://www.rss-tv.org/rss/tv1.0</xsl:variable>
<rss xmlns:tv="{$namespace}"/>
</xsl:template>
创建一个包含所需结果的元素。
答案 1 :(得分:1)
只需撰写:
<rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0">
<channel/>
</rss>
xmlns:tv="http://www.rss-tv.org/rss/tv1.0"
不是属性 - 它是命名空间定义并定义属于rss
元素的命名空间节点。