입력으로 가지고있는 여러 매개 변수를 기반으로 XML을 필터링하려고합니다.여러 매개 변수를 기반으로 XML 필터링 - Flex
나는 그들을 필터링하고 처리 할 수 있도록 일치하는 레코드가있는 부모 노드를 식별하려고합니다.
<A>
<B1>
<C1>
<D1>111</D1>
<E1>111</E1>
<F1>
<G1>111</G1>
<H1>
<I1>111</I1>
<J1>111</J1>
</H1>
</F1>
</C1>
</B1>
<B1>
<C1>
<D1>222</D1>
<E1>333</E1>
<F1>
<G1>222</G1>
<H1>
<I1>222</I1>
<J1>222</J1>
</H1>
</F1>
</C1>
</B1>
<B1>
<C1>
<D1>333</D1>
<E1>333</E1>
<F1>
<G1>333</G1>
<H1>
<I1>333</I1>
<J1>333</J1>
</H1>
</F1>
</C1>
</B1>
</A>
내가 노드 (D1) 및 E1과 I1을 위해 일치 할 필요는 말할 수 있지만 모든 매개 변수에서 'AND'경기가있을 경우, 나는 결과에 대한 <B1>
에서 노드 권한이 필요합니다.
<B1>
<C1>
<D1>222</D1>
<E1>333</E1>
<F1>
<G1>222</G1>
<H1>
<I1>222</I1>
<J1>222</J1>
</H1>
</F1>
</C1>
</B1>
것은 내가 데이터를 얻기 위해 아래의 조합을 usng 노력하고 있어요 :
xml..*.((hasOwnProperty("D1") && D1 == "222")&&hasOwnProperty("E1") && D1 == "333"))
을하지만 어떤 차이가 있다고 생각합니다. 누군가가 채워서 내가 잘못 가고 있는지 또는 XML 필터링에 더 나은 접근법이 있는지 말해 줄 수 있습니까? 또한 filterFunction (컬렉션)에서 도움이 될만한 것이 있습니까?
아, 깨끗합니다. – Bob
그게 해결되었습니다, 고마워요. – Bob
쿼리 파트를 동적으로 만들려고하므로 params와 키가 조건 파트를 만들기 위해 대신 사용됩니다. 그냥 보여 : 'var q1 : String = "자손 (\"E1 ") == \"111 \ ")";'// 동적 질의 건물, 이것은 단지 데모 용입니다. 'Alert.show ("Query >>"+ q1.toString()); // 출력 : 자손 ("E1") == "111"' \t \t \t var r2 : XMLList = xmlData .. *. (자손 ("E1") == "111"); // 올바른 결과를 제공합니다. 대답 ' 'var r1 : XMLList = xmlData .. *. (q1.toString()); // 이상한 응답을 보내고 아무것도 필터링하지 않습니다. " ** 여기에 누락되었거나 ** – Bob