2012-06-24 1 views
0

속성 이름이 대문자로 작성되었는지 여부에 관계없이 xml 태그의 속성을 검색하려면 어떻게해야합니까?AS3 E4X 태그 대소 문자에 관계없이 태그 속성 가져 오기

현재 내가 같은 것을 수행

myXML = new XML(...); 
if([email protected]()) 
    //...do something with [email protected] 
if([email protected]()) 
    //...do the same thing with [email protected] 

을하지만 그들이 작성하는 방법의 독립적 인 특성을 포착 할 수있는 쉬운 방법이있을 것 같아요? 방법?

+0

가능한 중복 (http://stackoverflow.com/questions/2140055/ignoring-case-on-e4x -node-names-and-attributes) –

답변

0

최상의 솔루션은 XML 표준을 설정하고 속성을 일관성있게 유지하는 것입니다. 이것이 옵션이 아니면 여러 검색을 할 수 있습니다. 가장 좋은 해결책은 아니지만 업무를 수행 할 수 있습니다.

속성 이름을 String으로 대문자와 소문자를 모두 검색하는 방법에 전달하고 결합 된 결과를 반환합니다.

private function onLoaded(e:Event):void 
    { 
     xml = new XML(e.target.data); 

     var list:XMLList = getNodesByAttribute("att"); 
     trace(list[1]); 
    } 

    private function getNodesByAttribute(attributeID:String):XMLList 
    { 
     var list:XMLList = ([email protected][attributeID.toLowerCase()]) + ([email protected][attributeID.toUpperCase()]); 
     return list; 
    } 

당신의 속성뿐만 아니라 모든 상 모두 소문자 (속성, 속성 및 속성) 다음이 혼란스러워하고 도움이되지 않습니다 경우.

아마도 regular expression을 사용하여 아이디어를 추가로 밀어 낼 수도 있지만 정규식 (이 상황에서 사용할 수 있는지는 잘 모르겠다)이 좋지 않습니다.

0

왜 등록 특급 사용하지 : [? E4X 노드 이름과 속성에 대한 사건을 무시]의

const list:XMLList = xml.*.(@name.toString().search(new RegExp("hello"))!= -1);