Flex:如何判断XML格式是否正确?
我有一个函数,在一些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();
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
}
它对我不起作用,它抛出相同的错误并阻止应用程序