Как я могу разобрать текстовые узлы из документа Java SOAP - PullRequest
0 голосов
/ 29 марта 2019

У меня есть тело ответа 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...