So erstellen Sie einen XML-Textknoten mit einem leeren Zeichenfolgenwert (in Java)
Ich benutze einTransform
Objekt, um meine XML-Datei zu speichern, aber es scheint leere Textknoten zu löschen. Gibt es eine Möglichkeit, einen Textknoten mit einer leeren Zeichenfolge zu erstellen (und beizubehalten), d. H. "".
So erstelle ich den Knoten:
Element type = doc.createElement("TYPE");
type.appendChild(doc.createTextNode(value));
Es ist nur das manchmalvalue
ist eine leere Zeichenfolge "". Wenn ich mir die XML mit einem Texteditor ansehe, sehe ich
<TYPE />
Anstatt vo
<TYPE></TYPE>
Nachdem ich diese XML-Datei wieder eingelesen und die Knoten durchlaufen habe, hat das <TYPE> -Element einfach keine untergeordneten Knoten, obwohl ich explizit einen #Text-Knoten dafür erstellt habe!
EDIT - Happy Thanksgiving (für meine Mitkanadier)
Wichtiger Hinweis: Ich arbeite nicht mit einem bekannten Satz von Tags, sondern das Programm, an dem ich arbeite, verwendet das Vorhandensein eines Textknotens, um ein @ zuzuweiseJTextField
zur GUI. Es ist nur so, dass das Feld manchmal leer bleibt (nicht null, sondern ""). Wenn ich dieses Feld speichere und es dann zurücklese, gibt die GUI das @ nicht wiedeJTextField
nicht mehr, da es keinen Textknoten gibt. Daher suche ich nach Möglichkeiten, um ein XML-Dokument zu erstellen, das einen Textknoten erstellt, auch wenn sich nichts darin befindet. Wenn das mit XML einfach nicht möglich ist, muss ich ein Attribut verwenden, um Tags zu markieren, die bearbeitet werden können (so wie es Andrey Breslav vorgeschlagen hat) und daher ein @ haben sollteJTextField
zugewiesen.
Ich werde Mads Hansens Vorschlag eines nicht unterbrechenden Raums versuchen.