在下面的文章中,您将看到一个如何使用cl\uxslt\u处理器库的基本示例。但是它的文档记录很差,所以我决定深入一点,大数据怎么用,测试一下,让你知道如何更详细地使用它。
背景故事
最近我遇到了一个小问题。我们想开发一个接口,它将使用一个简单的(不是真正的)web服务。很简单,对吧?您只需保存必要的SOAP信封、设置标头和发送HTTP请求即可。
是的,物联网城市,但我们希望使此开发可重用和可扩展,以便在将来使用未知的web服务。如果我们可以在不修改代码的情况下从外部修改请求体(XML)呢?使用程序中可用的数据,以任何方式设置请求中的描述和其他字段?
从可修改的XSLT生成XML将允许我们实现上面描述的一切。
我开始挖掘并在web上发现了这个跟踪-https://archive.sap.com/discussions/thread/947687–跟踪cl\u xslt\u处理器类。
在上面的文章中,您将找到一个如何使用此库的基本示例。但是它的文档记录非常糟糕,所以我决定深入一点,对它进行一点测试,让您知道如何更详细地使用它。
实现
当您查看类定义时,您将看到两组主要的方法–set_source*和set_result*:
set_source*设置要转换的传入消息,而set\u result*指向转换后的结果对象。在本例中,我将使用众所周知的iXML库的对象。
源XML:
XSLT(示例取自Mozilla webservice):
首先,云服务市场,我们需要创建iXML对象:
正如您看到的,物联网断路器,lo\u Source\u document表示变量XML\u string下的源XML,而lo\u result\u document是一个空文档。lo\u xslt\u流将在cl\u xslt\u处理器中用作源流。
我们设置了源和结果文档,韩国云服务器,xslt从上一步流出来并运行。
快速显示方法:
结果
检查最终字符串的内容:
万岁!
下面您可以找到完整的代码并自己测试:
您在ABAP中使用XSLT的经验是什么?