lr_xml_delete()
从XML字符串中删除片段。
int lr_xml_delete(<规范列表> [,<可选规范列表] [,LAST]);
参数说明:
List of specifications:对于以下所需规格列表,请使用以下字符串格式:
“Specification = value”
XML:要查询的XML输入字符串
ResultParam:删除片段后包含XML数据的输出参数的名称。
Query:对输入字符串XML的XML查询。
List of optional specifications:对于以下可选规格列表,请使用以下字符串格式:
“Specification = value”
SelectAll:如果为“yes”,则将处理与查询匹配的所有元素。如果“否”,则仅处理第一个匹配。默认值为“no”。请参阅多查询匹配
NotFound:请参见继续出错
LAST:表示可选规范列表结束的标记
lr_xml_delete函数查询XML输入字符串XML,并删除与查询条件匹配的XML树的片段。您可以通过在XML查询中指定元素名称或其属性来删除元素。输出参数ResultParam包含删除后使用源文档编码的修改后的XML字符串。
注意:删除元素的内容后,空元素e表示<e />。例如,从XML字符串“<a> <b> <c> </ c> </ b> </a>中删除元素c后的字符串结果是:
“<a> <b /> </a>”
因为元素b现在是空的。
示例:lr_xml_delete
以下示例在输入字符串xml_input中搜索标记“<extension>”,然后将其删除。结果字符串包含在ResultParam参数Result中。
有关使用lr_xml_delete的更多示例,请参阅删除XML查询的示例脚本中的元素。
#include“as_web.h”
char * xml_input =
“<acme_org>”
“<accounts_dept>”
“<employee>”
“<name> John Smith </ name>”
“<cubicle> 227 </ cubicle>”
“<extension> 2145 </ extension>”
“</ employee>”
“</ accounts_dept>”
“</ acme_org>”;
Action(){
lr_save_string(xml_input,“XML_Input_Param”); //将输入保存为参数
lr_xml_delete(“XML = {XML_Input_Param}”,
“ResultParam = Result”,
“Query = / acme_org / accounts_dept / employee / extension”,
LAST);
lr_output_message(lr_eval_string(“删除后的字符串:{Result}”)));
return 0;
}}
输出:
Action.c(25):删除后的字符串:<acme_org> <accounts_dept> <employee> <name> John Smith </ name> <cubicle> 227 </ cubicle> </ employee> </ accounts_dept> </ acme_org>