我们可以使用xslt编写代码来保持第一个打开标记和最后一个关闭标记吗?
示例代码如下:
示例输入xml:
<jobId>
<bov>text</bov>
<grade>text</grade>
</jobId>
<jobId>
<placeholder>text</placeholder>
</jobId>
期望输出xml:
<jobId>
<bov>text</bov>
<grade>text</grade>
<placeholder>text</placeholder>
</jobId>
正如添加根元素后的注释所建议的那样,我能够生成预期的输出xml。
修改后输入XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="5.xsl" ?>
<Root>
<jobId>
<bov>text</bov>
<grade>text</grade>
</jobId>
<jobId>
<placeholder>text</placeholder>
</jobId>
</Root>
XSLT将如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<jobId>
<xsl:for-each select="Root/jobId" >
<xsl:copy-of select="*"/>
</xsl:for-each>
</jobId>
</xsl:template>
</xsl:stylesheet>
正如在注释中提到的,您的样式表可以简化为:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Root">
<jobId>
<xsl:copy-of select="jobId/*"/>
</jobId>
</xsl:template>
</xsl:stylesheet>