最近在弄android的项目,需要通过webservice访问数据库,但webservice只能传递一般的类型,试了一些其他类型都没能成功,最后只有回归到用xml传递数据。不过,我弄得也很麻烦,xml转成Document,再转成String传递;接收后再反着转回xml。最后,就是从xml中读取数据了,这个是在百度知道上看到的,感觉挺靠谱,不过还没试
import
java.io.ByteArrayInputStream;
import
java.io.IOException;
import
javax.xml.parsers.DocumentBuilder;
import
javax.xml.parsers.DocumentBuilderFactory;
import
javax.xml.parsers.ParserConfigurationException;
import
org.w3c.dom.Document;
import
org.xml.sax.SAXException;
public
class
XmlTest4 {
public
static
void
main(String[] args) {
String xmlDoc =
"<?xml version='1.0' encoding='UTF-8'?>"
+
"<data result='2342' message='查询功'>"
+
"<certificateinfo>"
+
"<certificateid><![CDATA[证照编号]]></certificateid>"
+
"<certificatename><![CDATA[证照名称]]></certificatename>"
+
"</certificateinfo>"
+
"</data>"
;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db =
null
;
Document doc =
null
;
try
{
db = dbf.newDocumentBuilder();
doc = db.parse(
new
ByteArrayInputStream(xmlDoc.getBytes(
"UTF-8"
)));
System.out.println(doc.getElementsByTagName(
"certificateid"
).item(
0
).getTextContent());
System.out.println(doc.getElementsByTagName(
"certificatename"
).item(
0
).getTextContent());
}
catch
(SAXException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
catch
(ParserConfigurationException e) {
e.printStackTrace();
}
}
}