收到SOAPMessage类型的数据后,不将其写入xml文件,而是直接将其使用DOM进行解析。
其中reply是SOAPMessage类型的数据,是从web service接收到的,直接对其进行转换成可以用DOM进行解析的数据。
SOAPPart soapPart = reply.getSOAPPart();
Source source = soapPart.getContent();
Node node = null;
Document doc=null;
DocumentBuilderFactory builder = DocumentBuilderFactory.newInstance();
DocumentBuilder document = builder.newDocumentBuilder();
if (source instanceof DOMSource) {
node = ((DOMSource) source).getNode();
} else if (source instanceof SAXSource) {
InputSource inSource = ((SAXSource) source).getInputSource();
doc = document.parse(inSource);
}
NodeList list1 = node.getChildNodes();
//得到Document的根
Element root = (Element) list1.item(0);
System.out.println("根节点标记名:" + root.getTagName());
System.out.println("*****下面遍历XML元素*****");
//获得page元素
NodeList list = root.getElementsByTagName("multiRef");
System.out.println(list.getLength());
//遍历page元素
for (int i=1; i < list.getLength() ; i++) {
//获得page的元素
Element element = (Element)list.item(i);
//获得ID属性
NodeList titleid = element.getElementsByTagName("id");
//获得id元素
Element idElement = (Element)titleid.item(0);
//获得id元素的第一个值
String id = idElement.getFirstChild().getNodeValue();
System.out.println("ID :" + " " + id );
}
其中reply是SOAPMessage类型的数据,是从web service接收到的,直接对其进行转换成可以用DOM进行解析的数据。
SOAPPart soapPart = reply.getSOAPPart();
Source source = soapPart.getContent();
Node node = null;
Document doc=null;
DocumentBuilderFactory builder = DocumentBuilderFactory.newInstance();
DocumentBuilder document = builder.newDocumentBuilder();
if (source instanceof DOMSource) {
node = ((DOMSource) source).getNode();
} else if (source instanceof SAXSource) {
InputSource inSource = ((SAXSource) source).getInputSource();
doc = document.parse(inSource);
}
NodeList list1 = node.getChildNodes();
//得到Document的根
Element root = (Element) list1.item(0);
System.out.println("根节点标记名:" + root.getTagName());
System.out.println("*****下面遍历XML元素*****");
//获得page元素
NodeList list = root.getElementsByTagName("multiRef");
System.out.println(list.getLength());
//遍历page元素
for (int i=1; i < list.getLength() ; i++) {
//获得page的元素
Element element = (Element)list.item(i);
//获得ID属性
NodeList titleid = element.getElementsByTagName("id");
//获得id元素
Element idElement = (Element)titleid.item(0);
//获得id元素的第一个值
String id = idElement.getFirstChild().getNodeValue();
System.out.println("ID :" + " " + id );
}