这是我需要做的:
<child1.5>
节点并删除子2 原始文档
<parent>
<child1>
</child1>
<child2>
</child2>
</parent>
<parent>
<child1>
</child1>
<child2>
</child2>
<child3>
</child3>
</parent>
答案 0 :(得分:0)
您可以使用以下样式表/模板集:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="parent[child2 and child3]">
<xsl:copy>
<xsl:copy-of select="child1"/>
<child1.5>
Content
</child1.5>
<xsl:copy-of select="child3"/>
</xsl:copy>
</xsl:template>
<xsl:template match="parent[child2 and not(child3)]">
<xsl:copy>
<xsl:copy-of select="child1"/>
<child3>
<xsl:value-of select="child2" />
</child3>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
输出为(带有root
元素,可让您的XML 格式正确的):
<?xml version="1.0"?>
<root>
<parent><child1>
</child1>
<child3>
</child3>
</parent>
<parent><child1>
</child1>
<child1.5>
Content
</child1.5>
<child3>
</child3>
</parent>
</root>