0

我在解析 XML 文件时遇到了 Javascript 错误。我的代码如下所示:

var det = eval( "(" +  xmlhttp.responseText + ")");

此代码返回的 xml 文件将是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><accountss><accounts>`<password>1234</password><userid>arjel</userid></accounts></accountss>

执行此代码时出现未终止的正则表达式文字错误。可能是什么问题呢 ?

4

2 回答 2

4

您正在尝试使用一段旧的、缓慢的、危险的代码来解析 XML,该代码旨在通过将JSON评估为 JavaScript 来解析它。与 JSON 不同,XML 不是 JavaScript 的子集,因此当您尝试执行此操作时会出错。

直接访问就xmlhttp.responseXML行了。

于 2012-06-09T07:30:05.737 回答
0

你不需要 eval()。Eval 将尝试“执行”与 2 个括号连接的 xml 作为 javascript,但由于显而易见的原因,它会失败(不是 javascript 代码 - 无法执行它)。

如果您只想用圆括号连接您的 XML,请不要使用 eval():

var det = "(" +  xmlhttp.responseText + ")"; 
于 2012-06-09T07:48:01.913 回答