XML mit DOM : setTextContent zum Ändern des Textes eines Knotens



  • Hi,

    ich bearbeite eine in Excel erstellte XML-Datei mittels Xerces-DOM und ändere den Knotentext:
    <Cell ss:StyleID="s31"><Data ss:Type="String">Ja</Data></Cell>

    "Ja" ist also mein Knotentext. Und den ändere ich durch die Funktion setTextContent:

    (domnodeliste->item(3))->setTextContent(XMLString::transcode("Nein"));
    

    nur dann verliere ich die Tags mit Data die ihr ganz am anfang sehts
    (<Data ss:Type="String"> und </Data>) 😮

    das möchte ich aber nicht, denn ohne Data ist die fertige XML-Datei unter Excel nicht mehr zu bearbeiten (weil dieser die Texte nicht anzeigt, obwohl sie im Notepad zu sehen sind)

    Wisst ihr vielleicht, was ich falsch gemacht haben könnte?

    Danke im Voraus für euer Bemühen,

    liebe Grüße.



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • <Cell ss:StyleID="s31"><Data ss:Type="String">Ja</Data></Cell>

    lol ^^ natürlich nimmt er den <Data> Tag nicht ^^ weil es kein Text ist 😃
    und da das Programm nach "Cell" sucht (GetElementsByTagName) löscht er die <Data> Tags gleich weg

    hmm.. blöd blöd .. ich frag mich wie ich die Data Tags retten könnte... 😕



  • oki doki.. ich habs selber gelöst..

    nur zur information, falls es wen interessiert wie ich es gemacht habe:

    ich hab eine extra domnodeliste gemacht, deren elemente alle knoten mit den data-tags im dokument verweist

    DOMNodeList* dataliste = domdokument->getElementsByTagName(XMLString::transcode("Data"));
    

    und dann später, wie ich die "Cell" -Liste ändern will, änder ich stattdessen die "Data" Liste 😃

    mfg Su Chen


Anmelden zum Antworten