Probleme beim einrichten von einem neuen Knoten mit dem Wert in java, dom, xml-parsing
Ich habe den folgenden code:
DocumentBuilder dBuilder = dbFactory_.newDocumentBuilder();
StringReader reader = new StringReader(s);
InputSource inputSource = new InputSource(reader);
Document doc_ = dBuilder.parse(inputSource);
und dann möchte ich ein neues element zu erstellen, die in diesem Knoten direkt unter der root-Knoten mit diesem code:
Node node = doc_.createElement("New_Node");
node.setNodeValue("New_Node_value");
doc_.getDocumentElement().appendChild(node);
Das problem ist, dass der Knoten wird erstellt und angehängt, aber der Wert ist nicht gesetzt. Ich weiß nicht, ob ich kann einfach nicht sehen den Wert, wenn ich mir meine xml, wenn seine versteckten in gewisser Weise, aber ich glaube nicht, dass das der Fall ist, weil ich habe versucht, den Knoten mit dem Wert nach dem erstellen Knoten nennen und es gibt null
.
Ich bin neu in xml und dom und ich weiß nicht, wo der Wert des neuen Knotens gespeichert ist. Es ist wie ein Attribut?
<New_Node value="New_Node_value" />
oder gibt Sie den Wert hier:
<New_Node> New_Node_value </New_Node>
Jede Hilfe wäre sehr geschätzt,
Dank, Josh
InformationsquelleAutor der Frage Grammin | 2011-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgenden code:
produziert:
Hoffe, das klärt.
InformationsquelleAutor der Antwort dogbane
Zur Klärung, wenn Sie Knoten anlegen Verwendung:
anstatt den generischen Knoten für das, was Sie wieder von jeder Methode. Es wird Ihr code leichter zu Lesen/debug.
Zweitens, die
getNodeValue()
/setNodeValue()
Methoden funktionieren unterschiedlich, je nachdem, welche Art von Knoten du hast. Siehe die Zusammenfassung der Knoten-Klasse für Referenz. Für ein Element, Sie können nicht verwenden Sie diese Methoden, obwohl für einen Text-Knoten, die Sie können.Als @dogbane wies darauf hin, verwenden
setTextContent()
für den text zwischen diesem element-tags. Beachten Sie, dass dies zerstört alle vorhandenen untergeordneten Elemente.InformationsquelleAutor der Antwort robert_x44
'Wert' ist ein Attribut
element, für immer in DOM ich schlage vor, Sie http://www.w3schools.com/htmldom/default.asp
InformationsquelleAutor der Antwort Timoteo Ponce
Dies ist eine andere Lösung, in meinem Fall ist diese Lösung funktioniert, weil die setText () - Funktion nicht vorhanden. Ich arbeite mit dem Google Web Toolkit (GWT) (Es ist eine Entwicklung, framework, Java) und ich bin importiert, die XMLParser Bibliothek, für die ich verwenden kann DOM-Parser.
Ist das Ergebnis:
InformationsquelleAutor der Antwort Ricardo Julian Basto Navarro