从Adobe Air创建新XML文件的正确方法

时间:2011-12-21 03:08:19

标签: xml flex actionscript air

我无法从Air创建XML文件。它似乎总是在xml文件的第一个块前面有一些额外的字符,如“¥”。此应用程序可以从文档中读回,但如果我使用文本编辑器打开它进行更改并保存,它将不再在我的应用程序中打开。我在创建这个XML文件时做错了什么,我想使用XML的全部原因是我可以在另一台计算机上或在文本编辑器中编辑它,并将其发回。我能做些什么才能做到这一点?

现在我正在创建这样的XML:

    var myXML:XML = 

            <motor>
                <type>{motor.type}</type>
                <shopLocation>{motor.shopLocation}</shopLocation>
                <customer>{motor.customer}</customer>
                <tech>{motor.tech}</tech>
                .......
            </motor>;

我正在保存它:

    protected function fileSave_clickHandler(event:Event):void
        {
            fileName = motorObject.woNum + " - " + motorObject.customer;//default file name
            var dataFile:File =File.documentsDirectory.resolvePath(directory + "\\" + fileName);
            dataFile.addEventListener(Event.SELECT, onSave_Handler);
            dataFile.browseForSave("Save Malloy Repair Item");

        }

        protected function onSave_Handler(event:Event):void
        {   var file:File = event.currentTarget as File;
            var fs:FileStream = new FileStream();
            fs.open(file, FileMode.WRITE);
            var motorToXML:MotorObjectToXML = new MotorObjectToXML();
            fs.writeObject(motorToXML.buildMotorObjectToXML(motorObject));
            fs.close();
        }

1 个答案:

答案 0 :(得分:0)

也许您可以尝试writeUTFBytes(motorToXML.buildMotorObjectToXML(motorObject).toXMLString())将xml写为字符串而不是对象。