使用Identity Transform,定位一个特定节点

时间:2017-07-26 16:39:57

标签: xml xslt

我需要替换<Status>节点的一个特定实例,而不是文档中的其余部分。

我如何定位此路径?

基本上我在<Order_Order>内,我需要定位Order_Order/Status

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()" />      
  </xsl:copy>
</xsl:template>

<xsl:template match="RunProcessor">
  <RunProcessor>true</RunProcessor>    
</xsl:template>

<xsl:template match="Status">
  <Status>Dispatched</Status>
</xsl:template>

示例我来自:

<Order_Order>
<Version>v1_0</Version>
<ValidationMessages/>
<FullSerialize>true</FullSerialize>
<ID>7d89105f-586d-4a5d-</ID>
<OrderTypeID>Order</OrderTypeID>
<AccountID>1015</AccountID>    
<Notes/>
<DeliveryNotes/>
<Status>Shipped</Status>
   Order_Entries>
      <Order_Entry>
       <Version>v1_0</Version>
       <Status>Shipped</Status>
        <ID>4d393f51-1082-417a-83d0</ID>

我只是想首先定位&lt;状态&gt;节点,而不是更新第二个(或任何其他的)

================================== EDIT ============ =======================

解决方案如下。很简单,我能够在模板匹配中指定路径:

<xsl:template match="Order_Order/Status">
<Status>Dispatched</Status>
</xsl:template>

谢谢大家!

0 个答案:

没有答案