LoadRunner对XML进行操作的函数需要保证XML报文格式正确,无乱码,但由于返回报文存在中文乱码,并且XML的“<”,“>”被转换成“<”和“/>”,所以需要使用LoadRunner的编码转换函数进行报文整理。
web_convert_param()函数可以将“<”和“/>”转换回“<”,“>”。函数的调用说明:web_convert_param( const char *ParamName, [char *SourceString] char *SourceEncoding, char *TargetEncoding, LAST );
lr_convert_string_encoding()函数可以将报文返回的中文进行编码转换,转为LoadRunner的XML函数可以操作的XML串,否则XML函数将会报错。
函数的调用说明:lr_convert_string_encoding( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
使用LoadRunner自带的XML函数可以方便的从返回报文中取值,并对新的报文元素和属性赋值。当报文返回值不确定个数或返回值长度可变时这种方法依然可以灵活应对。但如果操作的报文体过长时这种方法就会变得比较繁琐,脚本中编辑的函数过多,不利于阅读和维护。
lr_xml_get_values函数,获取多个值,要使用selectall=yes参数
就一个值,不需要使用,否则取不到值
webservice 用到<![CDATA[ ]> 取消掉,里面数据含有<> 用“<”和“/>” 替换
注意:在VuGen 中,以char声明的字符串是只读的,如果试图给char类型的字符串赋值的话,编译会通过,但在运行时会产生“Access Violation”的错误。解决这类问题,就是把字符串声明为字符数组,比如char[100]。