我有以下xml文件:
File01:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FirstTag>
<SecondTag>
<Name>MyName</Name>
<Age>Age</Age>
</SecondTag>
</FirstTag>
File02:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Export>
<Module>
<Object>
<CreatedBy>FullName</CreatedBy>
<CreatedOn>2009-07-07</CreatedOn>
<Description>SomeDescription</Description>
</Object>
</Module>
</Export>
主档案:
<?xml version="1.0" encoding="UTF-8"?>
<index>
<entry>file01</entry>
<entry>file02</entry>
</index>
我想使用以下xsl组合它们:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="index">
<NEW-XML>
<xsl:apply-templates select="entry"/>
</NEW-XML>
</xsl:template>
<xsl:template match="entry">
<xsl:apply-templates select="document(concat(.,'.xml'))"/>
</xsl:template>
<xsl:template match="FirstTag/SecondTag">
<FIRST-FILE>
<xsl:value-of select="."/>
</FIRST-FILE>
</xsl:template>
<xsl:template match="Export/Module/Object">
<SECOND-FILE>
<xsl:value-of select="."/>
</SECOND-FILE>
</xsl:template>
</xsl:stylesheet>
在我进行转换后,我得到空行。有谁可以帮助我吗 ? 这是生成的文件:
<?xml version="1.0" encoding="utf-8"?>
<NEW-XML>
<FIRST-FILE>
MyName
Age
</FIRST-FILE>
<SECOND-FILE>
FullName
2009-07-07
SomeDescription
</SECOND-FILE>
</NEW-XML>
答案 0 :(得分:0)
可以通过包含
删除空行(可能*)<xsl:strip-space elements="FirstTag Export Module"/>
位于样式表的顶层。
或者,添加以下模板:
<xsl:template match="text()[not(normalize-space())]"/>
我同意Marcus Rickert对您的输出格式表达的担忧。
-
(*)取决于您的特定处理器