示例#1
0
 public XMLElement(string tagname, string value, Hashtable parameter, ArrayList elements, XMLElement parent)
 {
     this.tagname = tagname;
     this.value = value;
     this.parent = parent;
     if (parameter != null)
         this.parameter = parameter;
     else
        parameter = new Hashtable();
     if (elements != null)
         this.elements = elements;
     else
         this.elements = new ArrayList();
 }
示例#2
0
 private void ParseTag(ref String xmlString)
 {
     int endpos = xmlString.IndexOf(">");
     string tagname = xmlString.Substring(1, endpos - 1);
        // System.Console.WriteLine(tagname);
     if (!xmlString.StartsWith("</"))
     {
         if (firstelement)
         {
             currentelement = new XMLElement(tagname, "", null, null, null);
             firstelement = false;
         }
         else
         {
             currentelement.AddChild(new XMLElement(tagname, "", null, null, currentelement));
             XMLElement[] elements = currentelement.getChilds(false);
             currentelement = elements[elements.Length - 1];
         }
     }
     else
     {
         if (currentelement.HasParent)
             currentelement = currentelement.Parent;
     }
     xmlString = xmlString.Substring(endpos + 1);
 }
示例#3
0
 //Functie voor het opzoeken van alle tags met de meegegeven tagname.
 public XMLElement[] getChilds(string tagname, bool verydeep)
 {
     //begin met het opzoeken van alle elementen die de meegegeven tagname bevatten.
     ArrayList xmlElements = new ArrayList();
     XMLElement currentelement;
     for (int i = 0; i < elements.Count; i++)    // ga alle tags binnen deze klasse langs
     {
         currentelement = (XMLElement)elements[i];
         if (currentelement.TagName.StartsWith(tagname))     //als de opgegeven naam overeenkomt dan toevoegen in de lijst om terug te geven.
             xmlElements.Add(currentelement);
         if (verydeep)
         {
             int nexttagpos = tagname.IndexOf(";");
             tagname = tagname.Substring(nexttagpos + 1);
             currentelement.getChilds(ref xmlElements, tagname);
         }
     }
     //Begin nu met het omzetten van alle arraylist resultaten naar een XMLElement array
     XMLElement[] resultXmlElements = new XMLElement[xmlElements.Count];
     for (int i = 0; i < xmlElements.Count; i++)
     {
         resultXmlElements[i] = (XMLElement)xmlElements[i];
     }
     return resultXmlElements;
 }
示例#4
0
 //Functie voor het opzoeken van alle tags.
 public XMLElement[] getChilds(bool verydeep)
 {
     //begin met het opzoeken van alle elementen die de meegegeven tagname bevatten.
     ArrayList xmlElements = new ArrayList();
     XMLElement currentelement;
     for (int i = 0; i < elements.Count; i++)    // ga alle tags binnen deze klasse langs
     {
         currentelement = (XMLElement)elements[i];
         xmlElements.Add(currentelement);
         if (verydeep)
             currentelement.getChilds(ref xmlElements);
     }
     //Begin nu met het omzetten van alle arraylist resultaten naar een XMLElement array
     XMLElement[] resultXmlElements = new XMLElement[xmlElements.Count];
     for (int i = 0; i < xmlElements.Count; i++)
     {
         resultXmlElements[i] = (XMLElement)xmlElements[i];
     }
     return resultXmlElements;
 }
示例#5
0
 public void AddChild(XMLElement element)
 {
     if (element != null)            //afschermen dat je geen lege elementen mag toevoegen
     {
          elements.Add(element);
     }
 }