Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AdobeFlex-生成XML文件_Xml_Flash_Apache Flex_Air_Adobe - Fatal编程技术网

AdobeFlex-生成XML文件

AdobeFlex-生成XML文件,xml,flash,apache-flex,air,adobe,Xml,Flash,Apache Flex,Air,Adobe,我试图在AdobeFlex4.6中生成XML文件。这是我的密码 public var prefsFile:File; [Bindable] public var prefsXML:XML; public var stream:FileStream; private function createXMLData():void { var location:String = ""; prefsXML = <root/>;

我试图在AdobeFlex4.6中生成XML文件。这是我的密码

    public var prefsFile:File;
    [Bindable] public var prefsXML:XML;
    public var stream:FileStream;

private function createXMLData():void 
{
        var location:String = "";
        prefsXML = <root/>;

        var i:int = 0;
        if(photoList.length > 0){
                for(i; i< photoList.length; i++){
                   prefsXML.P[i] = photoList[i]; //photoList is an array which contain names
            }
        }

        var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';
        outputString += prefsXML.toXMLString();
        outputString = outputString.replace(/\n/g, File.lineEnding);

        trace("XML file: " + prefsXML.toXMLString());
        stream = new FileStream();
        stream.open(prefsFile, FileMode.WRITE);
        stream.writeUTFBytes(outputString);
        stream.close();
    }
public-var-prefsFile:File;
[Bindable]公共变量prefsXML:XML;
公共var流:FileStream;
私有函数createXMLData():void
{
变量位置:String=“”;
prefsXML=;
变量i:int=0;
如果(photoList.length>0){
对于(i;i
这是我的输出

<root>
  <P xmlns="views:AddDetails">16032012155637.jpg</P>
  <P xmlns="views:AddDetails">16032012155642.jpg</P>
</root>

16032012155637.jpg

16032012155642.jpg

我不知道如何将
xmlns=“views:AddDetails”
添加到
标记中

谁能给我解释一下吗?
非常感谢

默认情况下,XML采用文件的名称空间

这是一个有点脏的修复程序,但它可以工作,请将它放在var
outputString:String=…

var ns:Namespace = new Namespace();
var node:XML;
prefsXML.addNamespace(ns);
prefsXML.setNamespace(ns);
for each (node in prefsXML.descendants())
    node.setNamespace(ns);

希望有帮助。

有趣。我测试了您的代码,得到了相同的结果,尽管我没想到:

<root>
  <P xmlns="Test_XMLNS">16032012155637.jpg</P>
  <P xmlns="Test_XMLNS">16032012155642.jpg</P>
</root>
导致添加xmlns,但

prefsXML.P = photoList[i];
没有


在任何情况下,您都可以通过添加稍微不同的新元素来修复它:

    if(photoList.length > 0){
      for(i; i< photoList.length; i++){
        prefsXML.appendChild(<P>{photoList[i]}</P>); //photoList is an array which contain names
      }
    }
if(photoList.length>0){
对于(i;i{photoList[i]}

);//photoList是一个包含名称的数组 } }
是的,您是正确的,属性值是类的名称。你认为这是一只虫子吗?再次感谢你,这对我很有帮助。我不能说这是否是有意的行为,但这似乎是可疑的,只有当你在最后有了[我]时才会发生。
    if(photoList.length > 0){
      for(i; i< photoList.length; i++){
        prefsXML.appendChild(<P>{photoList[i]}</P>); //photoList is an array which contain names
      }
    }