XML, TypeError: Error #1088: The markup in

2019-07-28 06:59发布

Can anyone see whats wrong with either the code to grab the XML or the XML file itself? It looks well formed to me and I don't see the cause of the error:

A TypeError has occured: TypeError: Error #1088: The markup in the document following the root element must be well-formed.

    var file:String = 'config.xml';
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest(file);
    loader.load(request);
    loader.addEventListener("complete", onComplete);
    loader.addEventListener("ioError", onIOError);

    private function onIOError(event:Event):void 
    {
        trace("IOERROR (maybe XML file does not exit or have an incorrect name)");
    }

    private function onComplete(event:Event):void 
    {
        var loader:URLLoader = event.target as URLLoader;
        if (loader != null) {
            try {
                var settings:XML = new XML(loader.data);
            } catch (e:TypeError) {
                trace("A TypeError has occured: \r\t" + e);
            }

        } else {
            trace("Loader is not a URLLoader!");
        }
    }

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings>
    <setting1>1</setting1>
    <showDebug>2</showDebug>
    <someOtherSetting>3</someOtherSetting>
</settings>

1条回答
仙女界的扛把子
2楼-- · 2019-07-28 07:40

What did you create the XML document in?

I had something similar occur the other day, depending on the text/xml editor it may add a Byte Order Mark to the beginning Wikipedia BOM . This instantly invalidates the XML file. Try copying and pasting what you have into notepad and re-saving it.

Or, if you have a Linux machine available, the BOM will appear in VI as '' and you can remove it.

Also, just for reference, the utf encoding for the BOM is '\ufeff'

查看更多
登录 后发表回答