У меня есть тело ответа SOAP, из которого я хотел бы проанализировать все текстовые узлы после извлечения тела SOAP в объект документа.Когда я пытаюсь getTextContent()
из ELEMENT_NODEs, он возвращает весь дочерний текст под родительскими узлами, а когда я пытаюсь получить текст из TEXT_NODES, ничего не возвращается вообще.
SOAPMessage soapResponse = soapConnection.call(soapMessage, url);
soapConnection.close();
return representXMLasStringArray(soapResponse.getSOAPBody().extractContentAsDocument());
private static ArrayList<String> representXMLasStringArray(Document doc) {
ArrayList<String>nodeList=new ArrayList<String>();
try {
//doc.getDocumentElement().normalize();
NodeList nodes = doc.getElementsByTagName("*");
for(int i =0;i<nodes.getLength() ;i++) {
Node node = nodes.item(i);
if (node.getNodeType() == Node.TEXT_NODE) {//also tried ELEMENT_NODE
nodeList.add(node.getNodeName()+": "+node.getTextContent());
}
}
}
catch(Exception e) {
e.printStackTrace();
}
for(String s:nodeList) {
System.out.println(s); //prints nothing
}
return nodeList;
}