使用XSLT删除XML节点

我有以下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”/>
&lt/栏目>
<世界其他地区>
<名字>迈克尔&lt/名字>
<姓氏>大卫&lt/姓氏>
<电话>1234567890&lt/电话>
&lt/世界其他地区>
<世界其他地区>
<名字>大卫&lt/名字>
<姓氏>迈克尔&lt/姓氏>
<电话>01234567890&lt/电话>
&lt/世界其他地区>
<世界其他地区>
<名字>杨&lt/名字>
<姓氏>克里斯蒂娜&lt/姓氏>
<电话>2345678901&lt/电话>
&lt/世界其他地区>
<世界其他地区>
<名字>灰色&lt/名字>
<姓氏>梅雷迪斯&lt/姓氏>
<电话>3456789012&lt/电话>
&lt/世界其他地区>
<世界其他地区>
<名字>大卫&lt/名字>
<姓氏>谢泼德&lt/姓氏>
<电话>5678901234&lt/电话>
&lt/世界其他地区>
&lt/行集>

我想删除<电话&gt每行以及列描述中的节点

因此,生成的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;
&lt/栏目>
<世界其他地区>
<名字>迈克尔&lt/名字>
<姓氏>大卫&lt/姓氏>
&lt/世界其他地区>
<世界其他地区>
<名字>大卫&lt/名字>
<姓氏>迈克尔&lt/姓氏>
&lt/世界其他地区>
<世界其他地区>
<名字>杨&lt/名字>
<姓氏>克里斯蒂娜&lt/姓氏>
&lt/世界其他地区>
<世界其他地区>
<名字>灰色&lt/名字>
<姓氏>梅雷迪斯&lt/姓氏>
&lt/世界其他地区>
<世界其他地区>
<名字>大卫&lt/名字>
<姓氏>谢泼德&lt/姓氏>
&lt/世界其他地区>
&lt/行集>

我如何做到这一点?我尝试了各种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()”/>
&lt/xsl:copy>
&lt/xsl:template>
<xsl:template match=“Column[@SourceColumn='Phone']| Phone”/>
&lt/xsl:stylesheet>

发表评论