2011-02-09 2 views
0

xml 파일에서 노드를 제거하려면 delete 키워드를 사용하려고하는데 일반 텍스트는 작동하지 않습니다.xml 노드는 "delete"를 호출 함에도 불구하고 삭제되지 않습니다

다음은 내가 작업하고있는 것을 보여줍니다. 모든 노드에는 "deleteme"라는 자식이 있습니다. 그 값이 1이면 xml 파일에서 제거하고 싶습니다. 그 밖의 무엇이라도 나는 그것을두고 싶다. delete 메소드는 명확하게 gettig 호출이지만 효과가 없습니다. 액션

var xmlList:XMLList=_sourceXML.i; 

       for (var j:int=0; j < _xmlList.length(); j++) 
       { 

        if (xmlList[j].deleteme== 1) 
        { 
         delete xmlList[j]; 

        } 

       } 
//breakpoint here. xmlList still contains nodes that should have been deleted 
       xmlListColl=new XMLListCollection(xmlList); 
       xmlListColl.refresh() 

편집

내가 전에와 루프에 대한 삭제 길이가 실제로 다른 후의 XMLList 아이폰에 추적 경우

<?xml version="1.0" encoding="utf-8"?> 

    <stuff> 
     <i> 
      <deleteme> 
      0 
      </deleteme> 
     </i> 
     <i> 
      <deleteme> 
      1 
      </deleteme> 
     </i> 
     <i> 
      <deleteme> 
      0 
      </deleteme> 
     </i> 

    </stuff> 

. xmllistcollection에 전달 된 xmllist가 삭제되지 않은 노드가있는 이유가 있습니다. 나 한테 이해가 안돼.

편집 2

다음은 원하는 결과를 제공한다. 나는 아직도 이전 방법이 효과가 없었던 이유를 알고 싶다.

for (var j:int=0; j < xmlList.length(); j++) 
       { 
        //trace(xmlList[j].deleteme) 
        if (xmlList[j].deleteme!=1) 
        { 
         //delete xmlList[j]; 
         xmlListColl.addItem(xmlList[j]) 

        } 

       } 
+0

나는 바보 같지만 마지막에 새 파일을 저장한다고 확신합니까? – Manatherin

+0

문제점을보다 자세하게 표시하도록 내 질문이 업데이트되었습니다. 나는 내가 사용하려고하는 xmllist가 내가 완벽하다고 느끼는 – dubbeat

답변

관련 문제