【问题标题】:Correct way to create new XML file from Adobe Air从 Adob​​e Air 创建新 XML 文件的正确方法
【发布时间】:2011-12-21 03:08:18
【问题描述】:

我在从 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();
        }

【问题讨论】:

    标签: xml apache-flex actionscript air


    【解决方案1】:

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

    【讨论】:

    • 改变这个和相应的加载功能解决了我的问题。非常感谢您对这个问题的洞察力。
    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2010-09-25
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多