我有以下XML:
<;?xml version=“1.0”encoding=“utf-8”?>;
<;行集>;
<;行集>;
<;栏目>;
<;Column Description=“FirstName”MaxRange=“1”MinRange=“0”Name=“FirstName”SQLDataType=“12”SourceColumn=“FirstName”/gt;
<;Column Description=“LastName”MaxRange=“1”MinRange=“0”Name=“LastName”SQLDataType=“12”SourceColumn=“LastName”/gt;
<;Column Description=“Phone”MaxRange=“1”MinRange=“0”Name=“Phone”SQLDataType=“1”SourceColumn=“Phone”/>;
</栏目>;
<;世界其他地区>;
<;名字>;迈克尔</名字>;
<;姓氏>;大卫</姓氏>;
<;电话>;1234567890</电话>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;大卫</名字>;
<;姓氏>;迈克尔</姓氏>;
<;电话>;01234567890</电话>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;杨</名字>;
<;姓氏>;克里斯蒂娜</姓氏>;
<;电话>;2345678901</电话>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;灰色</名字>;
<;姓氏>;梅雷迪斯</姓氏>;
<;电话>;3456789012</电话>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;大卫</名字>;
<;姓氏>;谢泼德</姓氏>;
<;电话>;5678901234</电话>;
</世界其他地区>;
</行集>;
我想删除<;电话>每行以及列描述中的节点
因此,生成的XML如下所示:
<;?xml version=“1.0”encoding=“utf-8”?>;
<;行集>;
<;行集>;
<;栏目>;
<;Column Description=“FirstName”MaxRange=“1”MinRange=“0”Name=“FirstName”SQLDataType=“12”SourceColumn=“FirstName”/gt;
<;Column Description=“LastName”MaxRange=“1”MinRange=“0”Name=“LastName”SQLDataType=“12”SourceColumn=“LastName”/gt;
</栏目>;
<;世界其他地区>;
<;名字>;迈克尔</名字>;
<;姓氏>;大卫</姓氏>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;大卫</名字>;
<;姓氏>;迈克尔</姓氏>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;杨</名字>;
<;姓氏>;克里斯蒂娜</姓氏>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;灰色</名字>;
<;姓氏>;梅雷迪斯</姓氏>;
</世界其他地区>;
<;世界其他地区>;
<;名字>;大卫</名字>;
<;姓氏>;谢泼德</姓氏>;
</世界其他地区>;
</行集>;
我如何做到这一点?我尝试了各种XSLT,但都做不到
<;xsl:stylesheet version=“1.0”xmlns:xsl=”http://www.w3.org/1999/XSL/Transform“>;
<;xsl:output method=“xml”indent=“yes”/>;
<;xsl:strip space elements=“*”/>;
<;xsl:template match=“@*|node()”>;
<;xsl:copy>;
<;xsl:apply templates select=“@*|node()”/>;
</xsl:copy>;
</xsl:template>;
<;xsl:template match=“Column[@SourceColumn='Phone']| Phone”/>;
</xsl:stylesheet>;