2011-10-10 150 views
0

我正在尝试使用XSLT转换RSSTV XML。 我遇到的问题是我需要的XML看起来像这样: <?xml version="1.0"?><rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0"><channel>使用XSLT转换RSSTV XML

但是,我无法使用此属性创建rss元素。 我尝试使用<xsl:attribute>但未能实现它。

+0

如果您发布了一个RSS项目的示例,以便我们可以看到您尝试制作的内容,这将会很有帮助。 –

回答

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元件命名空间节点。

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> 

用您想要的结果的元素。

+0

但我需要在RSS元素中嵌套一些元素 – Himberjack

+0

@Himberjack这仅仅是您的问题的一个示例,仅用于描述您可以将任意属性分配给您的rss元素。在标签内部,您可以放置​​任何其他您想要的元素。随着你的抽象输入,这是我能想出的。 – FailedDev