Beispiel #1
0
        public void insertElementAt(string strElement, string[,] arrAttributes, string strAttributes, string strText, int iElemIndex, int iElemLevel)
        {
            if (iElemIndex < 0)
            {
                iElemIndex = (Array.IndexOf(this.elements, null) > 0) ? Array.IndexOf(this.elements, null) - 1 : 0;
            }
            if (iElemLevel < 0)
            {
                iElemLevel = this.elements[iElemIndex - 1].level;
            }
            XMLElement Elem      = null;
            int        iAddIndex = iElemIndex;

            if (iElemIndex > 0 && iElemLevel > 0)
            {
                Elem = new XMLElement(strElement, strAttributes, arrAttributes, strText, iElemLevel + 1, this);
            }
            else
            {
                Elem = new XMLElement(strElement, strAttributes, arrAttributes, strText, 1, this);
            }
            this.elements = XMLUtilities.Add(this.elements, iAddIndex, Elem);
            for (int i = iAddIndex; i < Array.IndexOf(this.elements, null); i++)
            {
                this.elements[i].index = i;
            }
        }
Beispiel #2
0
        public int addElementAt(string strElement, string[,] arrAttributes, string strAttributes, string strText, int iElemIndex, int iElemLevel)
        {
            if (iElemIndex < 0)
            {
                iElemIndex = (Array.IndexOf(this.elements, null) > 0) ? Array.IndexOf(this.elements, null) - 1 : 0;
            }
            if (iElemLevel < 0)
            {
                iElemLevel = this.elements[iElemIndex - 1].level;
            }
            XMLElement Elem;
            int        iAddIndex = iElemIndex;

            if (iElemIndex > 0)
            {
                for (int i = iElemIndex; i < Array.IndexOf(this.elements, null); i++)
                {
                    Console.WriteLine(this.elements[i].level + " > " + (iElemLevel + 1));
                    if (this.elements[i].level > iElemLevel + 1)
                    {
                        iAddIndex++;
                    }
                    else if (this.elements[i].level <= this.elements[iElemIndex].level)
                    {
                        break;
                    }
                }
                Elem = new XMLBuilder.XMLElement(strElement, strAttributes, arrAttributes, strText, iElemLevel + 1, this);
            }
            else
            {
                Elem = new XMLBuilder.XMLElement(strElement, strAttributes, arrAttributes, strText, 1, this);
            }
            this.elements = XMLUtilities.Add(this.elements, iAddIndex, Elem);
            for (int i = iAddIndex; i < Array.IndexOf(this.elements, null); i++)
            {
                this.elements[i].index = i;
            }
            return(iAddIndex);
        }