.parseXML返回null

时间:2015-04-27 16:06:17

标签: javascript jquery xml

我正在尝试解析来自应该是xml的服务器的响应。我是一个完整的网络开发新手,虽然我一直试图尽快拿起javascript进行任务。我无法控制服务器。

我正在使用该行:

.get(url,null,storeX,"xml")

其中函数storeX主要是一些定义为:

的故障排除代码
var x = null;
var storeX = function(input) {
    x = input;
    console.log("input");
    console.log(input);
    $xml = $.parseXML(x);
    console.log("parsed input");
    console.log($xml);
    alert($xml);
}

console.log(输入)的控制台输出(在Chrome中)给出了一个似乎与此对应的可扩展树

<results api_version="000.089.077">
<errors/>
<find_poi latitude="32.449331" longitude="-81.782748">
<images>
<image camera_number="1" distance="5.1"/>
<image camera_number="2" distance="5.3"/>
<image camera_number="3" distance="2.1"/>
</images>
</find_poi>
</results>

除了在Chrome控制台中,这一切都显示在顶级成员<#document>下 (我已经简化了图像元素,因为它们非常详细,但看起来很简单)

但是,.parseXML($xml)的结果为空。

我似乎没有得到任何关于为什么parseXML返回null的消息。

如何以帮助我确定错误的方式对此进行故障排除,或者是否可能需要进行简单的更改以允许我从.parseXML获取非空结果?

1 个答案:

答案 0 :(得分:3)

据推测,

input包含一个表示解析 XML的对象(因为jQuery将使用正确的内容类型解析数据,除非你告诉它不要)。

您正在将其转换为文本(可能是字符串"[object Object]")并尝试将其解析为XML(不是XML)。