2010-04-22 4 views
0

태그 필터링을 지원하는 최상의 xml 스키마를 찾고 있습니다. 그리고 나서 arlitary 양의 태그에서 XML을 필터링하는 방법.mulitple 속성 xml 필터 as3 e4x

var videoXML:XML= 
<?xml version="1.0" encoding="UTF-8"?> 
    <videos> 
     <video> <tags label="dogs,brown,lawns" /> </video> 
     <video> <tags label="dogs,cats" /> </video> 
     <video> <tags label="cats,lawns" /> </video> 
    </videos> 

그리고 지금 필터링하고있는 방법입니다 : 그래서 여기에 XML은 모든 선한 태그 "잔디"와 "개"를 한 동영상 만 반환

var filteredList:XMLList = videoXML..video.tags.(@label.indexOf("lawns") != -1 && @label.indexOf("dogs") != -1); 

좋아.

하지만 원하는만큼 많은 태그를 전달할 수 있고 그 필터의 결과를 얻을 수있는 메소드가 필요합니다. 같은

뭔가 :이 작업을 수행하는 방법에 대한

function getFilteredByTags(...tags):XMLList{ 

}

어떤 아이디어?

감사합니다.

답변

0

나는 더 좋은 방법을 찾을 수 없지만 그 기능에 얼마나 많은 태그가 있는지 계산할 수 있습니다. 그 수에 switch 문을 실행하고 태그 수만큼 올바른 e4x를 수행하십시오.

0

테스트되지 않은,하지만 작동해야 ™

은 당신의 XML을 변경

:.

function getFilteredByTags(...tags):XMLList 
{ 
    // Start with a list of all videos 
    var foundVideos:XMLList = videoXML.video; 

    for each (tag in tags) 
    { 
     // Filter foundVideos down to those videos that match tag 
     foundVideos = foundVideos.([email protected] == tag); 
    } 

    return foundVideos; 
} 
: 여러 개의 태그로 동영상을 반환

var videoXML:XML= 
<?xml version="1.0" encoding="UTF-8"?> 
<videos> 
    <video> 
     <tag label="dogs" /> 
     <tag label="brown" /> 
     <tag label="lawns" /> 
    </video> 
    <video> 
     <tag label="dogs" /> 
     <tag label="cats" /> 
    </video> 
    <video> 
     <tag label="cats" /> 
     <tag label="lawns" /> 
    </video> 
</videos> 

기능