向XML文档添加多个元素

时间:2019-06-05 12:51:35

标签: c# xml visual-studio

我正在尝试使用下一个结构创建XML文件

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

但是尝试附加元素时出现错误

这就是我想要做的

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);

            }

我得到的错误是This document already has a 'DocumentElement' node

1 个答案:

答案 0 :(得分:1)

我建议使用Linq代替您的方法,采用类似的方法:

    //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);