xml - 是否可以使用 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>
推荐阅读
- python - Keras Conv1d 输入形状
- java - 获取 Java 可关闭响应主体的值
- android - 带有 Proguard 的通知管理器
- docker - Docker pihole 设置在 lighttpd 服务处停止
- python - x 轴上日历周 YYYYWW 的 Seaborn 多个线图
- python - Python - 分割一行数字,其中一些包含破折号
- reactjs - 是否可以接收 React Material-table 的显示行(和顺序?)
- angular - NGRX,从选择器中过滤
- google-drive-api - 阻止从 Google Drive Api 下载
- python - 使用 pdfrw 填写 pdf 表单时使用字体