我想做一个功能是:点击按钮,通过ajax访问数据库,从数据库查询数据
,将数据转化为XML,将数据发回客户端下面的代码是将数据转化为XML的那段:
StringBuffer xml = new StringBuffer("<?xml version="+"1.0"+" encoding="+"UTF-8"+"?>"+"<result>"); for(j=0;j<tableSize;j++)
{
xml.append("<data>");
xml.append("<ip>"+tableIp2[j]+"</ip>");
area=tableArea2[j];
area=new String(area.getBytes("ISO-8859-1"),"utf-8");
xml.append("<ipArea>"+area+"</ipArea>");
xml.append("<ipNum>"+tableData2[j]+"</ipNum>");
xml.append("</data>");
}
xml.append("</result>");
//通过这个方法发送回去
sendResponse(response, xml.toString());我这样做在客户端只能用var results = xmlHttp.responseTest得到数据
不能用var results = xmlHttp.responseXML解析得到数据
XML解析部分是没有问题的
我想是我将数据库查询出来转化为XML时候出问题
请问应该怎么改?
谢谢~~~~`
,将数据转化为XML,将数据发回客户端下面的代码是将数据转化为XML的那段:
StringBuffer xml = new StringBuffer("<?xml version="+"1.0"+" encoding="+"UTF-8"+"?>"+"<result>"); for(j=0;j<tableSize;j++)
{
xml.append("<data>");
xml.append("<ip>"+tableIp2[j]+"</ip>");
area=tableArea2[j];
area=new String(area.getBytes("ISO-8859-1"),"utf-8");
xml.append("<ipArea>"+area+"</ipArea>");
xml.append("<ipNum>"+tableData2[j]+"</ipNum>");
xml.append("</data>");
}
xml.append("</result>");
//通过这个方法发送回去
sendResponse(response, xml.toString());我这样做在客户端只能用var results = xmlHttp.responseTest得到数据
不能用var results = xmlHttp.responseXML解析得到数据
XML解析部分是没有问题的
我想是我将数据库查询出来转化为XML时候出问题
请问应该怎么改?
谢谢~~~~`
response.setContentType("text/xml;charset=UTF-8");
response.getWriter().write(xml.toString());
response.getWriter().flush();
我是这样解析的
var datas = results.getElementsByTagName("data");
for(var i = 0; i < 1; i++) {
property = datas[i];
ip = property.getElementsByTagName("ip")[0].firstChild.nodeValue;
ipArea = property.getElementsByTagName("ipArea")[0].firstChild.nodeValue;
ipNum = property.getElementsByTagName("ipNum")[0].firstChild.nodeValue;
addTableRow(ip, ipArea, ipNum);
}
}
results = xmlHttp.responseXML;另外for循环的条件好象有问题,应该是i<datas.length
调试发现程序到
ip = property.getElementsByTagName("ip")[0].firstChild.nodeValue;
这一句就不走了
得到结果是:[object]
StringBuffer xml = new StringBuffer("<?xml version="+"1.0"+" encoding="+"UTF-8"+"?>"+"<result>");StringBuffer xml = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?><result>");
如果有问题,就是你的xml文件不对