代码之家  ›  专栏  ›  技术社区  ›  adam

使用dom函数在flex(as3)中创建XML字符串

  •  3
  • adam  · 技术社区  · 16 年前

    我想以类似的方式在Flex 3中创建一个XML字符串,您可能会在Java中使用它。我只想要一小部分XML的格式

    <slide thumb="http://www.thumbs.com/thumb.jpg" type="static" blah="bleh" />
    

    我能找到的唯一一种代码类型似乎很荒谬……

    private function createXML(): void
    {
    var xm:XML = <Relyon></Relyon>;
    var nodeName:String = “EMPLOYEENAME”;
    var nodeValue:String = “KUMAR”;
    var xmlList:XMLList = XMLList(”<”+nodeName+”>”+nodeValue+”</”+nodeName+”>”);
    xm.appendChild(xmlList);
    Alert.show(xm);
    }
    

    我想做一些像…

    var x:XMLNode = new XMLNode("slide");
    x.setAttribute("thumb", thumbURL);
    x.setAttribute("type", "static");
    

    这当然有可能?

    3 回复  |  直到 12 年前
        1
  •  13
  •   grapefrukt    16 年前

    远离xmlnode如果您使用的是as3,它是一个遗留类,新的xml和xmlliist类是支持优秀e4x的类。使用这些类很简单:

    var myXML:XML = <slide />;
    myXML.@thumb="http://www.thumbs.com/thumb.jpg";
    myXML.@type="static";
    myXML.@blah="bleh";
    trace("myXML", myXML.toXMLString());
    

    @表示它是一个属性,而不是使用它来添加子节点。

        2
  •  1
  •   j0k gauthamp    12 年前

    这可能更容易:

    var thumb:String = "http://www.thumbs.com/thumb.jpg";
    
    var type:String = "static";
    
    var blah:String = "bleh";
    
    var xml:XML =        
    
              <Relyon>
                 <slide thumb={thumb} type={type} blah={blah} />
              </Relyon>;
    
    
    trace( xml.toXMLString() );
    
    //traces out
    
     <Relyon>
         <slide thumb="http://www.thumbs.com/thumb.jpg" type="static" blah="bleh"/>
     </Relyon>
    
        3
  •  0
  •   WORMSS    15 年前

    此外,如果使用变量作为属性名,则可以使用

    var _attName:String = "foo";
    myXML.@[_attName] = "bar";
    

    但你需要把它读回

    myXML.@[_attname][0];
    
    推荐文章