处理XML字符串中特殊字符
在做WebServices时为了实现复杂数据的传输,我们经常会采用XML格式的字符串来传送......
在做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(); } |
可以有两种解决方法:
一、 通过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(); } |
- 本文关键词:

