TXMLDocument (Drei fragen dazu)



  • hallo

    ich versuche mich schon seit stunden mit TXMLDocument um eine XML datei schreiben. bislang noch nicht mit dem erwünchten erfolg. folgende fragen würde ich euch gerne stellen:

    1. jedesmal wenn ich einen knoten erstelle, steht ein xmlns="" neben dem tag namen. wie bekommt man das weg wenn es nicht gebraucht wird?

    2. wie kann ich mehrere namespaceURI für den haupt knoten angeben?

    3. das beinahe wichtigte: wie kann ich attribute und werte einem knoten hinzufügen?

    ich orientiere mich an dem hier:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39137.html

    und der C++ builder hilfe, habe es aber leider noch nicht raus und würde mich freuen wenn mich endlich jemand erleuchten könnte. vielen dank schonmal



  • DerGrosseBauer schrieb:

    hallo
    3. das beinahe wichtigte: wie kann ich attribute und werte einem knoten hinzufügen?

    Ist das nicht einfach ein assoziatives Array?

    _di_IXMLNode attrNode;
        attrNode = newNode->AddChild("sz");
        attrNode->Attributes["val"] = "mein wert";
    


  • hallo witte und danke. egal was ich bei value habe, es wird immer "True" übergeben, anstatt z.b. "online". dann hätte ich noch eine generelle frage zu Child, Node, Element. was genau it eigentlich ein Child? nichts anderes als auch ein knoten das aber einen vater knoten besitzt oder? gibt es eine faustregel für AddChild, CreateElement und CreateNode?

    es kann doch nicht so schwer sein eine anständige xml baum struktur aufzubauen 😞



  • <vater>
    	<kind>
    		<bezeichner>text</bezeichner>
    	</kind>
    </vater>
    

    wie nennt man sowas nun? vater ist ein knoten also node oder? kind ist ein child aber eigentlich auch ein knoten von vater oder? und was ist <bezeichner> genau? ein element (weil es einen wert dazwischen beinhaltet) oder auch ein child?



  • Hallo

    Vielleiucht solltest du dir lieber vorher die Grundlagen von XML anschauen bevor du versuchst damit zu programmen?
    Natürlich kann jeder XML-Knoten der Parent von beliebig vielen anderen Child-Knoten sein, und gleichzeitig selber einen Parent haben (nur der oberste Knoten hat keinen Parent). Nur so läßt sich eine Baumstruktur aufbauen.
    Und jeder Knoten kann Text und Attribute haben, unabhängig davon ob er einen Parent und oder Childs hat.

    Vergleichs mit der Naheliegenden Analogie : Eltern haben Kinder, und die Kinder können ihrerseits auch wieder Kinder haben und für diese dann Eltern sein, und zwar alles gleichzeitig.

    bis bald
    akari



  • okay vielen dank. aber warum haben mit

    Attributes["val"] = "mein wert";
    

    die attribute alle "True" stehen, anstatt den wert?



  • DerGrosseBauer schrieb:

    okay vielen dank. aber warum haben mit

    Attributes["val"] = "mein wert";
    

    die attribute alle "True" stehen, anstatt den wert?

    Weil er den Char-Pointer als Boolean interpretieren wird. Probier'
    AnsiString("mein wert");
    oder was für Typen Du immer brauchst. Schau' in die Dokumentation von IXMLNode::Attributes.



  • oki, danke 🕶


Anmelden zum Antworten