WMB入门之十五:使用XMLTransformation节点进行XML转换

WMB入门之十五:使用XMLTransformation节点进行XML转换
需要一个Mapping节点时,XMLTansformation节点通常是一个不错的选择,它可以使用XSLT将输入的XML转变成另一种形式的 XML,其开发速度高于在Compute节点中书写ESQL和在JavaCompute节点中书写Java代码,其缺陷在于缺乏访问外部数据的手段,有时 还需要上述两种节点的帮助。

XMLTransformation节点在Transformation选择项下,需要指定XSL文件的位置,可以通过其StylesheetName和StyleSheetDirectory来指定。以下是一个转换的例子:

输入:
< employees >< employee  id ="001" > Andy </ employee >< employee  id ="002" > Bill </ employee >< employee  id ="034" > Cindy </ employee ></ employees >

转换XSL:
<? xml version="1.0" encoding="utf-8" ?>
< xsl:stylesheet  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"  version ="1.0" >
    
    
< xsl:template  match ="/" >
        
< users >
        
< xsl:for-each  select ="employees/employee" >
            
< user >
                
< sn >< xsl:value-of  select ="position()" /></ sn >
                
< id >< xsl:value-of  select ="@id" /></ id >
                
< name >< xsl:value-of  select ="text()" /></ name >
                
< pswd >< xsl:value-of  select ="concat(@id,'_',text())" /></ pswd >
            
</ user >
        
</ xsl:for-each >
        
</ users >
    
</ xsl:template >
    
</ xsl:stylesheet >

输出:
<? xml version="1.0" encoding="UTF-8" ?> < users >< user >< sn > 1 </ sn >< id > 001 </ id >< name > Andy </ name >< pswd > 001_Andy </ pswd ></ user >< user >< sn > 2 </ sn >< id > 002 </ id >< name > Bill </ name >< pswd > 002_Bill </ pswd ></ user >< user >< sn > 3 </ sn >< id > 034 </ id >< name > Cindy </ name >< pswd > 034_Cindy </ pswd ></ user ></ users >

你可能感兴趣的:(WMB入门之十五:使用XMLTransformation节点进行XML转换)