C# 正确创建XDocument

C# 正确创建XDocument,c#,.net,xml,C#,.net,Xml,我试图用C#创建一个xml文件,但一直出现以下错误: {“此操作将创建结构不正确的文档。”} 我正在遵循我在网上找到的指南,但我不确定我做错了什么 以下指南位于此处: 这是我的密码: var xml = new XDocument(new XElement("Data"), new XElement("Parameter", new XElement("ID", parameters[0].Id.ToString("B"))

我试图用C#创建一个xml文件,但一直出现以下错误:

{“此操作将创建结构不正确的文档。”}

我正在遵循我在网上找到的指南,但我不确定我做错了什么

以下指南位于此处:

这是我的密码:

var xml = new XDocument(new XElement("Data"),
                new XElement("Parameter",
                    new XElement("ID", parameters[0].Id.ToString("B")), new XElement("Value", runbookId)), //RunbookID
                new XElement("Parameter",
                    new XElement("ID", parameters[1].Id.ToString("B")), new XElement("Value", employee.JobTitle)), //Title
                new XElement("Parameter",
                    new XElement("ID", parameters[2].Id.ToString("B")), new XElement("Value", employee.UserName)),//Username
                new XElement("Parameter",
                    new XElement("ID", parameters[3].Id.ToString("B")), new XElement("Value", employee.LastName)), //Lastname
                new XElement("Parameter",
                    new XElement("ID", parameters[4].Id.ToString("B")), new XElement("Value", GetManager(employee))), //Manager
                new XElement("Parameter",
                    new XElement("ID", parameters[5].Id.ToString("B")), new XElement("Value", "")),  //Phone
                new XElement("Parameter",
                    new XElement("ID", parameters[6].Id.ToString("B")), new XElement("Value", employee.Initials)),//GUI Initials
                new XElement("Parameter",
                    new XElement("ID", parameters[7].Id.ToString("B")), new XElement("Value", employee.EmployeeNumber)), //Employee #
                new XElement("Parameter",
                    new XElement("ID", parameters[8].Id.ToString("B")), new XElement("Value", GetCompany(employee))), //Company
                new XElement("Parameter",
                    new XElement("ID", parameters[9].Id.ToString("B")), new XElement("Value", "")), //Employee Security
                new XElement("Parameter",
                    new XElement("ID", parameters[10].Id.ToString("B")), new XElement("Value", GetDepartment(employee))), //Department
                new XElement("Parameter",
                    new XElement("ID", parameters[11].Id.ToString("B")), new XElement("Value", employee.Location)), //Office
                new XElement("Parameter",
                    new XElement("ID", parameters[12].Id.ToString("B")), new XElement("Value", employee.FirstName)) //First Name

             );

您正在尝试创建一个具有多个属性的
XDocument
。您不能这样做,因为XML标准不允许这样做。您可能打算将
“参数”
元素作为
数据的子元素:

        var xml = new XDocument(new XElement("Data",
                        new XElement("Parameter",
                            new XElement("ID", parameters[0].Id.ToString("B")), new XElement("Value", runbookId)), //RunbookID
                        new XElement("Parameter",
                            new XElement("ID", parameters[1].Id.ToString("B")), new XElement("Value", employee.JobTitle)), //Title
                        new XElement("Parameter",
                            new XElement("ID", parameters[2].Id.ToString("B")), new XElement("Value", employee.UserName)),//Username
                        new XElement("Parameter",
                            new XElement("ID", parameters[3].Id.ToString("B")), new XElement("Value", employee.LastName)), //Lastname
                        new XElement("Parameter",
                            new XElement("ID", parameters[4].Id.ToString("B")), new XElement("Value", GetManager(employee))), //Manager
                        new XElement("Parameter",
                            new XElement("ID", parameters[5].Id.ToString("B")), new XElement("Value", "")),  //Phone
                        new XElement("Parameter",
                            new XElement("ID", parameters[6].Id.ToString("B")), new XElement("Value", employee.Initials)),//GUI Initials
                        new XElement("Parameter",
                            new XElement("ID", parameters[7].Id.ToString("B")), new XElement("Value", employee.EmployeeNumber)), //Employee #
                        new XElement("Parameter",
                            new XElement("ID", parameters[8].Id.ToString("B")), new XElement("Value", GetCompany(employee))), //Company
                        new XElement("Parameter",
                            new XElement("ID", parameters[9].Id.ToString("B")), new XElement("Value", "")), //Employee Security
                        new XElement("Parameter",
                            new XElement("ID", parameters[10].Id.ToString("B")), new XElement("Value", GetDepartment(employee))), //Department
                        new XElement("Parameter",
                            new XElement("ID", parameters[11].Id.ToString("B")), new XElement("Value", employee.Location)), //Office
                        new XElement("Parameter",
                            new XElement("ID", parameters[12].Id.ToString("B")), new XElement("Value", employee.FirstName)) //First Name
                            )
                     );