是否可以使用xslt保持第一个打开标签和最后一个关闭标签?



我们可以使用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>

相关内容

  • 没有找到相关文章

最新更新