动态 Create/Modify xml

Dynamically Create/Modify the xml

我正在创建一个像这样的XMl

                    var xml123:XML = <root></root>;
                    
                    xml123.appendChild(<node uri='${urlValues[0]}' ></node>);
                    
                    xml123.child("node").appendChild(<row></row>);
                    
                    xml123.child("node").child("row").appendChild(<item>item01</item>);
                    xml123.child("node").child("row").appendChild(<item>item02</item>);
                    
                    xml123.child("node").appendChild(<row></row>);
                    
                    xml123.child("node").row[1].appendChild(<item>item03</item>);
                    xml123.child("node").row[1].appendChild(<item>item04</item>);

现在我想动态添加一个 url 值,所以我使用了这段代码 <node uri='${urlValues[0]}' ></node> 但它不起作用,我不能给出 <node uri=${urlValues[0]} ></node> 是他们的任何方式所以 uri 值可以是从不同的变量中获取? 我得到的价值是这样的

var urlValues:Array ;
urlValues = userSelected.split("@");

好的,我终于找到了它是如何实现的,可能是多种解决方案,但一个解决方案就可以完成工作

var xml123 = new XML("<root></root>");
xml123.FirstElement = "First"; 
xml123.SecondElement = "Second"; 
xml123.SecondElement.@SecondAtt = urlValues[0];    // <- I know what value to input 

所以它会像这样生成 xml

<root>
  <FirstElement>
    First
  </FirstElement>
  <SecondElement SecondAtt="http://2.4.5.6:1000">
    Second
  </SecondElement>
</root>

所以它会达到目的,我可以轻松地动态添加属性。但是这个方法的问题是我必须编写很多代码来生成 xml.

变量格式解释here。所以你不需要用很多代码构造XML,你只需要在它的主体中提到变量:

var X:XML =
<root>
  <FirstElement>
    First
  </FirstElement>
  <SecondElement SecondAtt={urlValues[0]}>
    Second
  </SecondElement>
</root>

如果这不起作用,您可以将数据分配给应该起作用的局部变量:

var uv0:String = urlValues[0];
var X:XML =
<root>
  <FirstElement>
    First
  </FirstElement>
  <SecondElement SecondAtt={uv0}>
    Second
  </SecondElement>
</root>