2014-03-25 5 views
1

E4X에서 XML 노드의 속성을 삭제하려면 어떻게해야합니까? 이 방법이 더 쉬울 거라고 생각했지만 예제를 찾지 못했습니다. XML에서 속성을 어떻게 삭제합니까?

내가 시도 :

delete xml.attribute("myAttribute"); 

을 나에게 다음과 같은 오류 준다 :

TypeError: Error #1119: Delete operator is not supported with operand of type XMLList. 

을 나는 시도했다 : 컴파일러 오류를 발생

xml.attribute("myAttribute") = null; 

합니다. 당신에

답변

2

예는 당신이 하나의 속성 노드를 삭제 보장하기 위해 결과의 XMLList에 [0]를 추가, 그것을 작동합니다 :

delete [email protected][0]; 

을 실제로 나를 위해 XMLList 작품과 delete뿐만 아니라 간단한 경우에 () 복합 구조물 E4X 됨없이 :

var x:XML = <x><c a="1"/><c a="2"/></x>; 
    trace("0", x.toXMLString()); 
    delete [email protected]; 
    trace("1", x.toXMLString()); 

출력 :

[trace] 0 <x> 
[trace] <c a="1"/> 
[trace] <c a="2"/> 
[trace] </x> 
[trace] 1 <x> 
[trace] <c/> 
[trace] <c/> 
[trace] </x> 
,536,
+0

내 속성이 루트 노드에 있습니다. 'x'에'a'를 넣으면 OP에서 언급 한 오류가 발생합니까? –

+0

에 대한 루트 속성이 내 예제에서와 같이 동일하게 작동합니다. 모든게 괜찮습니다 (SDK 3.6A 및 SDK 4.6 확인). 어떤 SDK를 사용합니까? – fsbmain

+0

4.6도 사용하고 있습니다. 이제 작동합니다. 필자는 이전 버전과 비교할 때'delete xml.attribute ("myAttribute");를 시도했지만 작동하는 답안에서'xml. @ myAttribute; delete '를 시도하지 않았습니다. 감사 –