2008年(3500)
分类:
2008-05-04 19:41:45
public String getAllNewSpace() { StringBuffer toClient = new StringBuffer(""); ………………………… if (null != dataset) { while (dataset.next()) { toClient.append(""); toClient.append("");// toClient.append(dataset.getString(1)); toClient.append("");//]] toClient.append(""); toClient.append(dataset.getString(2)); toClient.append(""); toClient.append(""); } } toClient.append(""); return toClient.toString(); } |
如果节点中含有“&”,“<”,“>”等字符时,解释此XML时会出错。
可以有两种解决方法:
一、 通过Xml Document对象得到XML字符串返回给客户端,不能直接把XmlDocument返回给客户端,因为Java中的Xml Document对象,别的语言是无法正确解释的,我们只能返回XML 字符串:
public String getAllNewSpace() { Document document = DocumentHelper.createDocument(); Element root=document.addElement("root"); ………………………… if (null != dataset) { while (dataset.next()) { Element user=root.addElement("User"); Element userName=user.addElement("UserName"); userName.setText(dataset.getString(1)); Element userId=user.addElement("UserId"); userId.setText (dataset.getString(2)); } } return document.asXML(); } |
二、 给XML 字符串添加DTD验证:在节点值部份添加“public String getAllNewSpace() {
StringBuffer toClient = new StringBuffer(""); ………………………… if (null != dataset) { while (dataset.next()) { toClient.append(""); toClient.append(" toClient.append(dataset.getString(1)); toClient.append("]]"); toClient.append(""); toClient.append(dataset.getString(2)); toClient.append(""); toClient.append(""); } } toClient.append(""); return toClient.toString(); } |