다음과 같은 구조의 XML이 있습니다. 예를 들어,Flex에서 XMLList에 대한 도움이 필요합니다.
<root>
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="false"/>
<node flag="true">
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="true"/>
</node>
<node flag="true"/>
<node flag="false">
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="true"/>
</node>
<node flag="false"/>
</root>
모든 자식 이름은 "노드"입니다. 내가 필요한 것은 XMLList (또는 XML, 상관 없음)를 동일한 계층 구조로 가져 오지만 플래그가 "true"인 노드 만 포함하는 것입니다.
예제를 위해 필요한 결과는 다음과 같습니다.<root>
<node flag="true"/>
<node flag="true">
<node flag="true"/>
<node flag="true"/>
</node>
<node flag="true"/>
</root>
e4x를 사용하여 루프를 반복하지 않고도이 작업을 수행 할 수있는 좋은 방법이 있습니까? 나는 다음을 시도했다. xml.node. (@ flag == "true"). 그러나이 경우의 결과는 다음과 같다 :
<root>
<node flag="true"/>
<node flag="true">
<node flag="false"/> <!--need to kill this node-->
<node flag="true"/>
<node flag="false"/> <!--need to kill this node-->
<node flag="true"/>
</node>
<node flag="true"/>
</root>
어떤 아이디어? 고맙습니다!
완벽 해요! 고마워요!하지만 식의 두 번째 부분에 대해 다소 혼란 스럽습니다. 제발 설명해 주시겠습니까? parent(). children() [valueOf(). childIndex()] –
@Timofei Davydik 부모 - 현재 노드의 부모를 얻는다 , children() <- 모든 자식의 배열을 얻는다 , valueOf() <- 현재 노드를 얻는다 , childIndex() <- 어린이 배열. – Patrick
+1 좋은 대답,하지만 약간 혼란 스럽다. 약간 더 길지 만 쉽게 따라 할 수있는 방법. xml..node에 의해 생성 된 xmlList를 통해 for 루프를 실행하고 조건이있는 항목을 삭제합니다. http://stackoverflow.com/questions/4946007/xml-nodes-will-not-delete-despite-calling-delete/4948647#4948647 – Ryan