我有一个XML,如下所示:
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd">
<Header action="write" externalSource="NIKU" objectType="project" version="14.3.0.298"/>
<Projects>
<Project projectID="0000000284" projectName="Testing">
<Tasks>
<Task internalTaskID="5095022" name="PS2" taskID="PS2"> </Task>
<Task internalTaskID="5095038" name="PS" taskID="PS"> </Task>
</Tasks>
<Allocations/>
<scenarioDependencies/>
<InvestmentAssociations>
<Allocations/>
<Hierarchies/>
</InvestmentAssociations>
<CustomInformation/>
<General/>
<OBSAssocs/>
</Project>
</Projects>
</NikuDataBus>
我希望使用XSLT转换此XML,最终结果应该只如下所示(只有Tasks标记)。我的XSLT怎么样?
<Tasks>
<Task internalTaskID="5095022" name="PS2" taskID="PS2"> </Task>
<Task internalTaskID="5095038" name="PS" taskID="PS"> </Task>
</Tasks>
答案 0 :(得分:0)
您可以选择并复制该元素,例如
<xsl:template match="/">
<xsl:copy-of select="//Tasks" copy-namespaces="no"/>
</xsl:template>
请注意copy-namespaces="no"
是XSLT 2.0,没有它,或者在XSLT 1.0中,简单副本将复制xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
,因为它位于根元素的范围内。