在做WebServices时为了实现复杂数据的传输,我们经常会采用XML格式的字符串来传送,这主要是由于XML具有存取数据,跨平台及跨语言等好处。请看下面例子: public String getAllNewSpace() { StringBuffer toClient = new StringBuffer("<root>"); ………………………… if (null != dataset) { while (dataset.next()) { toClient.append("<User>"); toClient.append("<UserName>");//<![CDATA[ toClient.append(dataset.getString(1)); toClient.append("</UserName>");//]] toClient.append("<UserId>"); toClient.append(dataset.getString(2)); toClient.append("</UserId>"); toClient.append("</User>"); } } toClient.append("</root>"); return toClient.toString(); } 如果<UserName>节点中含有“&”,“<”,“>”等字符时,解释此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"); &[1] [2] 下一页
|
|