0
в моем xml У меня есть узел <action/>
в разных местах через документ. Каждый узел действия должен получить значение «U».Добавьте значение к существующему узлу в xml, используя XSLT
Я попытался это, но он не работает:
входной 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>
Можете ли вы разместить образец ввода и вывод, который вы получите, и тот, который вы хотите, вместо этого? –
Я добавил вход xml. –
Вход не является корректным XML; он не имеет закрывающего тега ' materialRequirementProperties>. –