Flex:如何判断XML格式是否正确?

Flex:如何判断XML格式是否正确?,xml,apache-flex,validation,Xml,Apache Flex,Validation,我有一个函数,在一些XML中加载,如下所示: private function onXMLLoad(e:Event):void { trace(e.target.data); hideLoading(); DataModel.instance.data = XML(e.target.data); updateSelections();

我有一个函数,在一些XML中加载,如下所示:

private function onXMLLoad(e:Event):void
            {
                trace(e.target.data);
                hideLoading();
                DataModel.instance.data = XML(e.target.data);
                updateSelections();
                toggleExpand();
            }

如果加载的XML数据格式不正确,例如,打开的标记未关闭。我得到一个错误,告诉我XML必须格式良好。我真的不打算加载格式不好的XML,但万一真的发生这种情况,我更希望能够以某种方式处理它。首先,在将加载的数据转换为XML之前,是否有一种方法可以判断它的格式是否正确,如果可能的话,是否可以尝试修复它?

好吧,目前还没有官方的Flex/AS3库进行XML验证,我也不知道有任何自定义库

如果您可以在服务器端验证XML(假设这是适用的),这可能是您最好的选择,因为对于大多数服务器端语言,您将有更多的选项


在将XML加载到XML类之前,您可以编写自己的类/函数来验证AS3中的XML。以字符串形式读入数据变量并对其进行解析,执行必要的操作以验证XML是否满足您的要求,包括匹配标记,并进行所需的任何更正。

您只需包装强制转换try/catch语句:

try {
  DataModel.instance.data = XML(e.target.data);
} catch (err:TypeError) {
  //handle error
}

它对我不起作用,它抛出相同的错误并阻止应用程序