问题描述
- 解析报文 我这么写对吗?求指引怎么写
-
byte buf[] =new byte[10240]; InputStream in=socketClient.getInputStream(); int length=in.read(buf); String strResult=new String(buf,0,length);//strResult保存的就是xml logger.debug("所得数据: rn"+new String(buf,0,length));
// String strXML = "aa";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(strResult);
NodeList list = doc.getElementsByTagName("response");for(int i=0;i<=list.getLength();i++){
String alarmType = doc.getElementsByTagName("alarmType").item(0).getTextContent();
String alarmTime = doc.getElementsByTagName("alarmTime").item(0).getTextContent();
String alarmImage = doc.getElementsByTagName("alarmImage").item(0).getTextContent();
String video = doc.getElementsByTagName("video").item(0).getTextContent();
}
解决方案
先看strResult获取的字符串是否正确,因为要考虑xml的编码等。然后就是导入XML类库对象后,按你的方式解析一个个元素