Mit C++ Attribute in eine XML-Datei schreiben.



  • Hallo.
    Ich habe ein Programm was eine XML-Datei erstellt ähnlich dem hier:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39137.html

    Nun möchte ich aber noch Attribute zum meinem Knoten hinzufügen, doch leider weiß ich nicht wie ich auf die Attribute zugreifen kann.

    Könnt ihr mir evtl weiter helfen?

    Grüße

    Ceres



  • Die Eigenschaft Attributes repräsentiert die Attributwerte für den Knoten.

    __property OleVariant Attributes[const DOMString AttrName]= {read=GetAttribute, write=SetAttribute};
    

    Beschreibung

    Mit Hilfe von Attributes können Sie die Werte der Attribute des Knotens lesen oder festlegen. Über die Attribute kann ein Knoten in einem XML-Dokument geändert werden. Im folgenden Beispielknoten sind "genre" und "title" Attribute des Knotens, und "scifi" und "Star Wars" sind die zugehörigen Werte:

    <Movie genre="scifi" title="Star Wars"> ... </Movie>

    Im Index AttrName wird der Name des Attributs angegeben, auf das zugegriffen werden soll. Im obigen Beispiel sind "genre" und "title" die Attributnamen. Wenn Sie bei einem Schreibzugriff auf die Eigenschaft Attributes den Namen eines vorhandenen Attributs angeben, wird der Wert dieses Attributs geändert. Existiert dagegen kein Attribut mit dem angegebenen Namen, wird ein neues Attribut für den Knoten erzeugt.

    Wenn Sie bei einem Lesezugriff auf die Eigenschaft Attributes einen Attributnamen angeben, der für den Knoten nicht existiert, ist der zurückgegebene Wert von der Eigenschaft Options des Dokuments abhängig, das den Knoten enthält. Wenn Options den Wert doAttrNull enthält, führt der Lesezugriff auf ein nicht vorhandenes Attribut zur Rückgabe einer Null-Variante. Ist der Wert doAttrNull nicht in Options enthalten, wird ein leerer String zurückgegeben.

    Der Wert von Attributes besteht aus dem Text des angegebenen Attributs. Beim Festlegen von Attributen wird der Wertstring nicht analysiert. Markups im übergebenen Wert (z. B. Entitätsreferenz) werden als Literal interpretiert. Wenn Sie einem Attribut den Wert NULL zuweisen, wird es aus dem Knoten entfernt. Es ist möglich, einem Attribut einen leeren String als Wert zuzuweisen.
    --------------------------------------



  • Danke!

    Das in der Hilfe hab ich auch gesehen, aber ich bekomme es nicht hin die Attribute einem Knoten hinzuzufügen.

    _di_IXMLNode Node = NeuXML->CreateElement(AttWert,"" );
        AzubiNode->ChildNodes->Add(Node);
    

    So füge ich Unterknoten ein. Und wie kann ich diesem Knoten jetzt mehrere Attribute mit Werten zuweisen?



  • ^^
    Ok hat sich erledigt:

    _di_IXMLNode Node = NeuXML->CreateElement(AttWert,"" );
    Node->SetAttribute(AttributeName, AttributeWert);
    AzubiNode->ChildNodes->Add(Node);
    

    Ceres


Anmelden zum Antworten