【发布时间】:2020-12-26 17:32:04
【问题描述】:
我有一个包含许多孩子的 xml 有效负载,并且有标签
<DomainName>value</DomainName>
<DOMAIN_NAME>value</DOMAIN_NAME>
我想要做的是遍历整个 xml 有效负载,并使用 xsl 代码将它们替换为新值
例如,这是一个示例负载
<TransmissionHeader xmlns:tran="http://xmlns.oracle.com/apps/otm/TransmissionService" xmlns="">
<Version>20b</Version>
<TransmissionCreateDt>
<GLogDate>20200819124057</GLogDate>
<TZId>UTC</TZId>
<TZOffset>+00:00</TZOffset>
</TransmissionCreateDt>
<TransactionCount>1</TransactionCount>
<SenderHostName>https://xxx</SenderHostName>
<SenderSystemID>https:xxx</SenderSystemID>
<UserName>OOO</UserName>
<SenderTransmissionNo>404836</SenderTransmissionNo>
<ReferenceTransmissionNo>0</ReferenceTransmissionNo>
<GLogXMLElementName>PlannedShipment</GLogXMLElementName>
<NotifyInfo>
<ContactGid>
<Gid>
<DomainName>OOO</DomainName>
<Xid>SYS</Xid>
</Gid>
</ContactGid>
<ExternalSystemGid>
<Gid>
<DOMAIN_NAME>OOO</DOMAIN_NAME>
<Xid>IOT_SYSTEM</Xid>
</Gid>
</ExternalSystemGid>
</NotifyInfo>
</TransmissionHeader>
它应该用新值替换标签。 如何实现?
<xsl:template match="/" xml:id="id_11">
<nstrgmpr:POST xml:id="id_12">
<nstrgmpr:request-wrapper xml:id="id_26">
<ns26:input xml:id="id_27">
<xsl:copy-of xml:id="id_28" select=" /nssrcmpr:publish/Transmission/TransmissionHeader"/>
</ns26:input>
<ns26:newDomain xml:id="id_29">d1</ns26:newDomain>
</nstrgmpr:request-wrapper>
</nstrgmpr:POST>
</xsl:template>
【问题讨论】: