在我的xml中我通过文档在不同的地方有节点<action/>
。
每个动作节点都应该得到值&#34; U&#34;。
我尝试了这个,但它不起作用:
输入xml:
<?xml version="1.0" encoding="UTF-8"?><operationsSchedule>
<id>test</id>
<operationsRequests>
<operationsRequest>
<id>20572152</id>
<segmentRequirements>
<segmentRequirement>
<id>W1</id>
<materialRequirements>
<action/>
<hierarchyScope>default</hierarchyScope>
<materialDefinitionID>510000533</materialDefinitionID>
<materialRequirementID>510000533_0004</materialRequirementID>
<materialRequirementProperties>
<materialRequirementProperty>
<action/>
<dataType>Text</dataType>
<hierarchyScope>default</hierarchyScope>
<materialDefinitionPropertyID>BAG_NR</materialDefinitionPropertyID>
<materialRequirementPropertyID>BAG_NR</materialRequirementPropertyID>
<materialRequirementPropertyValueTexts>
<materialRequirementPropertyValueText>
<languageID>EN</languageID>
<uiid>47275</uiid>
<value><![CDATA[1]]></value>
</materialRequirementPropertyValueText>
</materialRequirementPropertyValueTexts>
<materialUse>Other</materialUse>
<requiredByRequestedSegmentResponse>Other</requiredByRequestedSegmentResponse>
</materialRequirementProperty>
<materialRequirementProperty>
<action/>
<dataType>Text</dataType>
<hierarchyScope>default</hierarchyScope>
<materialDefinitionPropertyID>SCENARIO</materialDefinitionPropertyID>
<materialRequirementPropertyID>SCENARIO</materialRequirementPropertyID>
<materialRequirementPropertyValueTexts>
<materialRequirementPropertyValueText>
<languageID>EN</languageID>
<uiid>47276</uiid>
<value><![CDATA[C]]></value>
</materialRequirementPropertyValueText>
</materialRequirementPropertyValueTexts>
<materialUse>Other</materialUse>
<requiredByRequestedSegmentResponse>Other</requiredByRequestedSegmentResponse>
</materialRequirementProperty>
</materialRequirements>
</segmentRequirement>
</segmentRequirements>
</operationsRequest>
</operationsRequests>
</operationsSchedule>
的xsl:
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="action">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>U</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="materialRequirements"/>
</xsl:stylesheet>
答案 0 :(得分:1)
您需要移除<xsl:template match="materialRequirements"/>
,因为materialRequirements
元素未被处理,显然,如果包含任何action
元素,则不会使用您的模板。