2016-07-31 4 views
0

일부 AS2 XML 코드를 E4X으로 변환하려고합니다. 내가 E4X에 쓰기 것 인 경우에 해당 될 것입니다 무엇AS3에서 XMLDocument를 E4X로 변환 하시겠습니까?

//temp var used to access createElement and creatTextNode 
var tempXML:XML = new XML(); 

//make an element: <myNodeName> 
var myNode:XMLNode = tempXML.createElement("myNodeName"); 

//make a text node: "myValue" 
var myTextNode = tempXML.createTextNode("myValue"); 

//put the text node into the element: <myNodeName>myValue</myNodeName> 
myNode.appendChild(myTextNode); 

//test it 
trace(myNode.toString()); 

: 나는 (지금 XMLDocument) 구문 아래에 다음 코드 원본 XML을?

저는 특별히 E3X에서 createElement()createTextNode() 기능을 재현하려고합니다.

답변

1

예 :

public function ASTest() 
    { 
     var xmlDocument:String = testXMLDocument(); 
     var e4x:String = testE4X(); 
     trace("xmlDocument: "+xmlDocument); 
     trace("e4x: "+e4x); 

     trace("assert true: " + (xmlDocument == e4x)); 
    } 

    public function testXMLDocument():String 
    { 
     //temp var used to access createElement and creatTextNode 
     var tempXML:XMLDocument = new XMLDocument(); 

     //make an element: <myNodeName> 
     var myNode:XMLNode = tempXML.createElement("myNodeName"); 

     //make a text node: "myValue" 
     var myTextNode:XMLNode = tempXML.createTextNode("myValue"); 

     //put the text node into the element: <myNodeName>myValue</myNodeName> 
     myNode.appendChild(myTextNode); 

     //test it 
     return myNode.toString();  
    } 

    public function testE4X():String 
    { 
     //make an element: <myNodeName> 
     var myNode:XML = <myNodeName />; 


     /** 
     * put the text node into the element: <myNodeName>myValue</myNodeName> 
     * Two options to achieve that: 
     * 1) using methods of XML class 
     * 2) using e4k operators 
     * Both ways give the same result 
     */ 

     //1) XML function usage: 
     //myNode.appendChild("myValue"); 

     //2) e4x syntax 
     myNode.* += "myValue"; 

     //test it 
     return myNode.toXMLString();   
    } 

출력 :

xmlDocument: <myNodeName>myValue</myNodeName> 
e4x: <myNodeName>myValue</myNodeName> 
assert true: true 
1

var myNode = <myNodeName>myValue</myNodeName> 문자 그대로 구성해야합니다. 내용이 문자열 변수 인 경우 var myNode = <myNodeName>{yourVariable}</myNodeName>을 사용하십시오.

관련 문제