Jaime Cuellar
Jaime Cuellar

Reputation: 474

Add multiple elements to XML document

Im trying to create a XML file with the next structure

<tdes1></tdes1>
<tdes2></tdes2>
<tdes3></tdes3>

but i am getting error when trying to append the elemnt

This is what i was trying to do

var xmlLlavesTDES = new XmlDocument();
            xmlLlavesTDES.AppendChild(xmlLlavesTDES.CreateXmlDeclaration("1.0", "UTF-8", null));
           // XElement test = new XElement("test");
            for (var i = 0; i < this.llavesTDESArray.Length; i++)
            {
                var llavesTDESEncriptadas = encriptador.Encriptar(this.llavesTDESArray[i], this.llavePublicaEsclavo);
                var llaveNum = i + 1;
               XmlElement nodo=  xmlLlavesTDES.CreateElement("tdes" + llaveNum);
               nodo.InnerText = llavesTDESEncriptadas;
                xmlLlavesTDES.AppendChild(nodo);

            }

The error I get is This document already has a 'DocumentElement' node

Upvotes: 0

Views: 627

Answers (1)

Denis Schaf
Denis Schaf

Reputation: 2769

i recommend an aproach similar to this using Linq instead of your approach:

    //using System.Xml.Linq;


    var xmlLlavesTDES = new XDocument();
    XElement rootElement = new XElement("AllMyValues");
    for (var i = 0; i < this.llavesTDESArray.Length; i++)
    {
        var llavesTDESEncriptadas = encriptador.Encriptar(this.llavesTDESArray[i], this.llavePublicaEsclavo);
        var llaveNum = i + 1;
        XElement nodo = new XElement("tdes" + llaveNum);
        nodo.Value = llavesTDESEncriptadas;
        rootElement.Add(nodo);

    }
    xmlLlavesTDES.Add(rootElement);

Upvotes: 1

Related Questions