我想传输由“|”分隔的非 xml 文本文件 使用 Datapower 将字符转换为 xml。
Following is file (sample1)
10|20003|24/23/25|23890
现在我必须将其分解为以下 XML
<ResponseType>
<ResCode>10</ResCode>
<Id>20003</Id>
<SoftCode>24/23/25</SoftCode>
<StatusCode>23890</StatusCode>
</ResponseType>
我所做的是跟随——
1>在将接收非 XML 请求的服务中创建一个转换操作。
2> 选择“在非 XML 消息上使用此操作中指定的 XSLT”以指定这是一个二进制转换。
3>上传以下样式表作为处理控制文件。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions"
version="1.0">
<dp:input-mapping href="sample1.ffd" type="ffd"/>
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:copy-of select="ResponseType"/>
<xsl:call-template name="str:tokenize">
<xsl:with-param name="string" select="string" />
</xsl:call-template>
</xsl:template>
<xsl:template name="str:tokenize">
<xsl:with-param name="string" select="">
str:tokenize('string', '|')
</xsl:with param>
</xsl:template>
</xsl:stylesheet>
这是我的 sample1.ffd(我已将其上传到 Datapower 的本地:// 目录中
<File name="ResponseType">
<!-- capture all data into this tag -->
<Field name="ResCode/Id/SoftCode/StatusCode" />
</File>
但是我没有得到想要的输出,我认为我的 xslt 是完全错误的我该怎么做才能得到想要的输出?