我试图将 XML文件解析为较小的 XML文件并将它们放入文件夹中.根据XML中的一些元素生成文件夹. 如何在XSLT中生成文件夹?我能够使用xsl:result-document生成文件,但到目前为止,我没有找到
如何在XSLT中生成文件夹?我能够使用xsl:result-document生成文件,但到目前为止,我没有找到如何生成文件夹的运气.
您不需要专门创建文件夹,只需提供完整的所需路径,如folder1 / doc1.xml. For example:<?xml version="1.0" encoding="UTF-8"?> <tests> <testrun run="test1"> <test name="foo" pass="true" /> <test name="bar" pass="true" /> <test name="baz" pass="true" /> </testrun> <testrun run="test2"> <test name="foo" pass="true" /> <test name="bar" pass="false" /> <test name="baz" pass="false" /> </testrun> <testrun run="test3"> <test name="foo" pass="false" /> <test name="bar" pass="true" /> <test name="baz" pass="false" /> </testrun> </tests>
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="text"/> <xsl:output method="html" indent="yes" name="html"/> <xsl:template match="/"> <xsl:for-each select="//testrun"> <xsl:variable name="filename" select="concat('output1/',@run,'.html')" /> <xsl:value-of select="$filename" /> <!-- Creating --> <xsl:result-document href="{$filename}" format="html"> <html><body> <xsl:value-of select="@run"/> </body></html> </xsl:result-document> </xsl:for-each> </xsl:template> </xsl:stylesheet>