在AJAX中检索XML响应

时间:2011-11-23 18:41:06

标签: xml ajax response

我编写了一个java代码(Spring控制器)代码片段,用于向AJAX发送XML响应。很遗憾,我无法使用xhr.responseXML将响应作为XML获取,但可以使用xhr.responseText作为文本。而不是在客户端解析文本会有人建议实际问题是什么?这里我附上控制器和AJAX代码。

Spring controller code:
-------------------------------
String xmlResp = "<cities>";
xmlResp+="<city>";
xmlResp+="<name>" + "Hyderabad" + "</name>";
xmlResp+="<population>" + "3000000" + "</population>";
xmlResp+="</city>";
xmlResp+="<city>";
xmlResp+="<name>" + "Bangalore" + "</name>";
xmlResp+="<population>" + "4500000" + "</population>";
xmlResp+="</city>";
xmlResp+="</cities>";

response.setContentType("text/xml");
response.getWriter().write(xmlResp);


AJAX code:
-----------------------------

reading as XML:

var xml=xhr.responseXML;
        alert(xml);

reading as Text
var text=xhr.responseText;
        alert(text);

为方便起见,XML结构:

<cities>
    <city>
        <name>Hyderabad</name>
        <population>3000000</population>
    </city>
    <city>
        <name>Bangalore</name>
        <population>4500000</population>
    </city>
</cities>

1 个答案:

答案 0 :(得分:0)

您的XML格式不正确:

String xmlResp = "'<'cities>";

会给:

'<'cities>
  • 执行使用验证器或lint检查XML
  • 不要通过将字符串混合在一起来构建XML文档,而是使用XML库