我在wso2 SP上输入了wso2event流,它包含时间戳和有效负载。有效载荷采用xml格式。如何将此有效负载解析为变量?我看到这个文档https://wso2-extensions.github.io/siddhi-map-xml/api/4.0.11/,但我不知道,如何将传入的wso2event传递给sourcemapper,然后将其解析为变量?
答案 0 :(得分:2)
siddhi-map - * 扩展用于映射源/汇级别的输入/输出事件属性。
由于此xml有效内容是另一个流的属性,因此您可以使用 siddhi-execution-map 扩展名从该xml创建地图。
然后,您可以将sml有效负载作为siddhi app中的hashmap处理。
有关详细信息,请参阅文档[1]。
答案 1 :(得分:1)
好的,我意识到,Demo createFromXML 功能存在错误。这个函数正确地解析了每个元素上的xml文件,但是HashMap定义很糟糕,因为函数是递归调用的,并且每个循环都在旧映射中创建新映射和覆盖数据。所以最后,只有一个键有地图。
char* GetModulePath()
{
char* ownPth = new char[MAX_PATH];
memset(ownPth,0,MAX_PATH); //Write zeroes in the allocated memory
HMODULE hModule = GetModuleHandle(NULL);
if (hModule != NULL)
{
GetModuleFileName(hModule, ownPth, MAX_PATH);
//Not using sizeof, because now, ownPth is not a char array, it's a pointer
}
return ownPth; // You will need to delete[] it after, else it's a memory leak
}
topLevelMap应该声明为私有全局变量。有人可以在wso2 github上订票来解决这个问题吗?