以下是我的输入:
<csv>
<row>
<stuff>a</stuff>
<more>1</more>
<evenmore>123</evenmore>
<roww>
<other>1345</other>
<other>13845</other>
</roww>
</row>
</csv>
预期输出:
<roww>
<other>1345</other>
<other>13845</other>
</roww>
谁能让我知道如何使用XSL?
好吧,这仅仅是为了匹配父节点并做copy-of
。
<xsl:copy-of>
元素创建了当前节点的副本。
注意:名称空间节点,子节点和当前节点的属性也会自动复制!
XSLT 1.0 实现预期输出的解决方案可能是:
<?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="/csv">
<xsl:copy-of select="row/roww" />
</xsl:template>
</xsl:stylesheet>
https://xsltfiddle.liberty-development.net/bfn1y93
您可以使用TreeOps Tree Trunderation Visual Tool来实现这一目标。TreeOps(https://github.com/treeops/treeops):
-
加载xml
-
添加转换 - 向上移动"行/roww/other&quot"
-
添加转换 - 移动"行/其他"
-
添加转换 - 删除"行"
输入和结果转换