getNodeName () - operation auf einen XML-Knoten gibt #text
<person>
<firstname>
<lastname>
<salary>
</person>
Dies ist das XML-bin ich-Analyse. Wenn ich versuche, drucken Sie die Knoten die Namen der child-Elemente von person,
Ich bekomme
text
Vorname
text
lastname
text
Gehalt
Wie kann ich die beseitigen #text generiert wird?
Update -
Hier ist mein code
try {
NodeList nl = null;
int l, i = 0;
File fXmlFile = new File("file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
dbFactory.setValidating(false);
dbFactory.setIgnoringElementContentWhitespace(true);
dbFactory.setNamespaceAware(true);
dbFactory.setIgnoringComments(true);
dbFactory.setCoalescing(true);
InputStream in;
in = new FileInputStream(fXmlFile);
Document doc = dBuilder.parse(in);
doc.getDocumentElement().normalize();
Node n = doc.getDocumentElement();
System.out.println(dbFactory.isIgnoringElementContentWhitespace());
System.out.println(n);
if (n != null && n.hasChildNodes()) {
nl = n.getChildNodes();
for (i = 0; i < nl.getLength(); i++) {
System.out.println(nl.item(i).getNodeName());
}
}
} catch (Exception e) {
e.printStackTrace();
}
- Zeigen Sie die Codierung..
- Der code wurde zur Verfügung gestellt. Bitte helfen
Du musst angemeldet sein, um einen Kommentar abzugeben.
setIgnoringElementContentWhitespace
funktioniert nur, wenn SiesetValidating(true)
, und nur dann, wenn die XML-Datei, die Sie analysieren, Referenzen einer DTD, parser verwenden können, um herauszufinden, welche whitespace-only text nodes sind eigentlich vernachlässigbar. Wenn Ihr Dokument keine DTD-es Irrt auf der sicheren Seite und geht davon aus, dass keine text-nodes ignoriert werden können, so müssen Sie Ihren eigenen code schreiben, um Sie zu ignorieren, während Sie sich durch den Kind-Knoten.