Gebäude DOM-Dokument aus dem xml-string gibt mir ein null-Dokument
Ich versuche, die DOM-Bibliothek zum analysieren einer Zeichenfolge im xml-format. Für einige Grund mein Dokument enthält null-Werte und ich laufen in Fragen versuchen zu analysieren. Die string-variable 'Antwort' ist nicht null und ich bin in der Lage, um zu sehen, die saite, wenn im debug-Modus.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(response));
Document doc = builder.parse(is);
NodeList nodes = doc.getElementsByTagName("BatchFile");;
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList batchItem = element.getChildNodes();
String uri = batchItem.item(0).getNodeValue();
String id = batchItem.item(1).getNodeValue();
String fqName = batchItem.item(2).getNodeValue();
}
Hervorhebung über die Linie Document doc = builder.parse(is);
nachdem es ausgeführt wurde, zeigt das Ergebnis der [#document: null]
.
Edit: ich habe es geschafft, nicht hat eine leere doc jetzt aber die string-Werte sind immer noch null (Ende des Codes). Wie kann ich den Wert von so etwas wie dieses
<GetBatchFilesResult>
<BatchFile>
<Uri>uri</Uri>
<ID>id</ID>
<FQName>file.zip</FQName>
</BatchFile>
</GetBatchFilesResult>
Dies ist nur die
Wildcards funktionieren nicht in
Es scheint nicht zu sein, überhaupt etwas in das Dokument. doc.getChildNodes zeigt nicht alle Knoten an alle, wenn ich weiß, es sind Knoten in der xml-string.
doc.getDocumentElement()? Haben Sie
bearbeitet Frage
Document.toString
Methode - bedeutet nicht, dass nichts nützlich ist. Was sind die Probleme genau?Wildcards funktionieren nicht in
getElementsByTagName("*");
. Überprüfen Sie alle node.items(i) instanceof Element
, und recurse.Es scheint nicht zu sein, überhaupt etwas in das Dokument. doc.getChildNodes zeigt nicht alle Knoten an alle, wenn ich weiß, es sind Knoten in der xml-string.
doc.getDocumentElement()? Haben Sie
response
?bearbeitet Frage
InformationsquelleAutor zms6445 | 2013-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch verwenden, getTextContent(). getNodeValue null zurück für Elemente. Außerdem sollten Sie besser getElementsByTagName, da Leerzeichen werden auch behandelt wie ein Kind-Knoten.
Überprüfen Knoten-API-Dokument zu sehen, welche Art von Knoten ist, wird null zurückgegeben für getNodeValue.
InformationsquelleAutor longhua
Fand ich die Lösung. Scheint dumm, dass Sie es zu tun haben, auf diese Weise zu bekommen, einen Wert aus einem Knoten.
InformationsquelleAutor zms6445