<Level>
<Name>XYZ</Name>
<Number>456</Number>
<DateTime>2020-03-11T08:53:00</DateTime>
</Level>
<Level>
<Name>ABC</Name>
<Number>123</Number>
<DateTime>2020-03-13T08:53:00</DateTime>
</Level>
<Level>
<Name>PQR</Name>
<Number>789</Number>
<DateTime>2020-03-12T08:53:00</DateTime>
</Level>
只有当LevelName=ABC时,才会在元素下面插入一个新的元素Value。
所以,这个结果应该是这样的。
<Level>
<Name>XYZ</Name>
<Number>456</Number>
<DateTime>2020-03-11T08:53:00</DateTime>
</Level>
<Level>
<Name>ABC</Name>
<Number>123</Number>
<Type>Value</Type>
<DateTime>2020-03-13T08:53:00</DateTime>
</Level>
<Level>
<Name>PQR</Name>
<Number>789</Number>
<DateTime>2020-03-12T08:53:00</DateTime>
</Level>
先谢谢你
这里有一个可能的解决方案。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="Level/Number[../Name='ABC']">
<xsl:copy-of select="."/>
<Type>Value</Type>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
在这里看到它的工作。https:/xsltfiddle.liberty-development.net6pS26mN1。