2013-01-25 44 views
-1

我在我的数据集以下数据格式。我需要用xslt提供一个xml。我已经尝试过一些xslt不起作用的东西。一个例子可以帮助我很多。XSLT对XML数据集从

我试过以下链接:http://msdn.microsoft.com/en-us/library/8fd7xytc.aspx

我的数据集

name color city 
==== ===== ==== 
rice white city1 
rice white City2 

我所需的XML输出

<xml> 

<name> rice </name> 

<color> White </color> 

<cities>   

<city> city1 </city> 

<city> city2 </city> 

</cities>  

</xml> 
+0

那么,转换应该在哪个XML文档上运行?请编辑*问题并提供这些缺少的重要信息。 –

+1

你能告诉我们DataSet的XML是什么样子吗?你可以通过访问'XmlDataDocument'对象的'OuterXml'属性来访问它。此外,到目前为止您尝试过哪些XSLT,并且您的数据是否保证在所有行中只有一个'name'和'color'(就像在您的示例中,它们都是“米”和“白色”)? – JLRishe

回答

0

我相信这会工作。如果您可以向我们展示您的输入XML,我可以验证并优化此答案:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="yes"/> 

    <xsl:template match="/*"> 
    <xml> 
     <xsl:apply-templates select="*[1]/name | *[1]/color"/> 
     <cities> 
     <xsl:apply-templates select="*/city" /> 
     </cities> 
    </xml> 
    </xsl:template> 

    <xsl:template match="/*/*/*"> 
    <xsl:element name="{local-name()}"> 
     <xsl:value-of select="." /> 
    </xsl:element> 
    </xsl:template> 
</xsl:stylesheet>