Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于params的动态XML过滤_Xml_Actionscript 3 - Fatal编程技术网

基于params的动态XML过滤

基于params的动态XML过滤,xml,actionscript-3,Xml,Actionscript 3,跟进质询 我试图动态创建查询部分,以便参数和键接管构建条件部分。只是为了表明: //building a dynamic query like this var q1:String = "descendants (\"E1" ) == \"111\" )"; Alert.show("Query>>"+q1.toString()); // Output: descendants ("E1" ) == "111" var r2:XMLList = xmlData..*.(

跟进质询

我试图动态创建查询部分,以便参数和键接管构建条件部分。只是为了表明:

 //building a dynamic query like this 
var q1:String = "descendants (\"E1" ) == \"111\" )"; 
Alert.show("Query>>"+q1.toString());     // Output: descendants ("E1" ) == "111"

var r2:XMLList = xmlData..*.(descendants ("E1" ) == "111"); //returns correct result 
var r1:XMLList = xmlData..*.(q1.toString());  // weird response, 
                                              // doesn't filter out anything
此处的注释表示括号内的表达式不应是字符串。同意

那么,除了使用
subjects()
,由于我们正在基于搜索的参数动态构建搜索查询,因此当前无法解决此问题


任何提示/想法都会很有帮助。

在循环中进行过滤怎么样

var filters : Array = [ { key : "E1", value : "333" }, { key : "D1", value : "333" } ];

var searchItem : XMLList = xmlData.*;
for each (var filter:Object in filters)
    searchItem = searchItem.( descendants ( filter.key ) == filter.value);

trace (searchItem);

是的,我明白了。但是,根据输入参数的不同,它可能是一个或多个,我正在尝试创建一个动态查询,其中包含一个或多个要作为子代搜索的参数。我已更改了答案。请注意,xmlData.*返回根节点的子节点,而不是所有子节点,否则该方法可能会在较小的块中反复返回相同的子树。好的,这会起作用。我们在不同的子体上迭代相同的列表。伟大的