2016-07-21 24 views
0

Wie kann ich Dokument aus einem String mit XML erstellen?Parsing String zu org.w3c.dom.Document mit Namespaces

Ich habe den folgenden Code versucht, aber die document.getElementsByTagNameNS ("Umschlag", "http://schemas.xmlsoap.org/soap/envelope/") Funktionsaufruf findet kein XML-Element.

String xml = "<soapenv:Envelope\n" + 
     "  xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" + 
     "\t<soapenv:Header>\n" + 
     "\t</soapenv:Header>\n" + 
     "\t<soapenv:Body>\n" + 
     "\t</soapenv:Body>\n" + 
     "</soapenv:Envelope>"; 

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder builder; 
try { 
    factory.setNamespaceAware(true); 
    builder = factory.newDocumentBuilder(); 
    Document document = builder.parse(new InputSource(new StringReader(xml))); 
    System.out.println(document.getElementsByTagNameNS("Envelope", "http://schemas.xmlsoap.org/soap/envelope/").getLength()); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

Antwort

1

Per documentaion,

NodeList getElementsByTagNameNS(String namespaceURI, String localName) 

Die unten funktioniert,

System.out.println(document.getElementsByTagNameNS("http://schemas.xmlsoap.org/soap/envelope/", "Envelope").getLength());