Răsfoiți Sursa

add functions to XML::Element

Kolja Strohm 5 luni în urmă
părinte
comite
d05b8ae2a4
2 a modificat fișierele cu 20 adăugiri și 6 ștergeri
  1. 16 6
      XML.cpp
  2. 4 0
      XML.h

+ 16 - 6
XML.cpp

@@ -3,6 +3,16 @@
 using namespace Framework;
 using namespace XML;
 
+Framework::XML::Element::Element()
+    : ReferenceCounter(),
+      children(new RCArray<Element>()),
+      attributes(new RCArray<Text>()),
+      attributeValues(new RCArray<Text>()),
+      name(new Text()),
+      text(new Text()),
+      parent(0)
+{}
+
 // Erstellt ein XML Element
 //  string: entweder der name des Elements oder ein XML Text der geparsed werden
 //  soll
@@ -15,13 +25,8 @@ Element::Element(Text string)
 //  soll zParent: Ein Zeiger auf das eltern element (ohne erhöhten reference
 //  Counter)
 Element::Element(Text string, Element* zParent)
-    : ReferenceCounter()
+    : Element()
 {
-    children = new RCArray<Element>();
-    attributes = new RCArray<Text>();
-    attributeValues = new RCArray<Text>();
-    text = new Text();
-    name = new Text();
     string.removeWhitespaceAfter(0);
     string.removeWhitespaceBefore(string.getLength());
     setText(string);
@@ -508,6 +513,11 @@ ArrayIterator<Text*> Element::getAttributeValues() const
     return attributeValues->begin();
 }
 
+void Framework::XML::Element::setName(Text name)
+{
+    this->name->setText(name);
+}
+
 // gibt den Namen des Elementes zurück zurück
 Text Element::getName() const
 {

+ 4 - 0
XML.h

@@ -28,6 +28,8 @@ namespace Framework
             Element* parent;
 
         public:
+            //! Erstellt ein leeres XML Element
+            DLLEXPORT Element();
             //! Erstellt ein XML Element
             //! \param string entweder der name des Elements oder ein XML Text
             //! der geparsed werden soll
@@ -122,6 +124,8 @@ namespace Framework
             //! gibt einen iterator zurück mit dem durch alle Attribut Werte
             //! iteriert werden kann
             DLLEXPORT ArrayIterator<Text*> getAttributeValues() const;
+            //! setzt den Namen des Elementes
+            DLLEXPORT void setName(Text name);
             //! gibt den Namen des Elementes zurück zurück
             DLLEXPORT Text getName() const;
             //! erzeugt einen XML Text der dieses Element und alle childs