2014-10-09 68 views
0

我想在很少的条件下将xml转换为另一个xml。其中一个条件是每当我的xml元素具有DC19DAKHNDC19D0000,在转换后的xml中,我想用值MN019015J覆盖它们。如何覆盖xslt中的xml值?

如何在XSLT中执行此操作?

我的XML代码

<MyID>DC19DAKHN</MyID> 

我的XSLT输出

<myID>DC19D0000</myID> 

我想这是这个样子,而不是

<myID>MN019015J</myID> 

我用如果选择?

+1

刚刚从身份开始转变,并为您的特定节点的规则。 – 2014-10-09 14:31:31

+1

注意:''与''不同。 – 2014-10-09 14:36:51

+0

我同意迈克尔。在下面的帖子中更新了我的建议。 – 2014-10-09 14:40:59

回答

1

试试这个:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

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

<xsl:template match="MyID/text()[.='DC19DAKHN']">MN019015J</xsl:template> 

<xsl:template match="myID/text()[.='DC19D0000']">MN019015J</xsl:template> 

</xsl:stylesheet>