关于Filtering XML based on multiple params - Flex的跟进问题。
我试图动态创建Query部分,以便params和key接管构建条件部分。只是为了表明:
//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
此处的评论Filtering XML based on multiple params - Flex表示括号内的表达式不应该是字符串。同意。
那么,是否有任何其他方法可以过滤掉XML中的多个参数而不是使用
descendants()
,由于我们正在根据搜索的参数动态构建搜索查询,因此目前无法解决问题?
任何指示/想法都会有很大的帮助。
答案 0 :(得分:0)
如何在循环中进行过滤?
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);