Как поставить атрибуты через XElement - PullRequest
120 голосов
/ 21 февраля 2011

У меня есть этот код:

XElement EcnAdminConf = new XElement("Type",
                    new XElement("Connections",
                        new XElement("Conn"),
                    // Conn.SetAttributeValue("Server", comboBox1.Text);
                    //Conn.SetAttributeValue("DataBase", comboBox2.Text))),
                    new XElement("UDLFiles")));
                    //Conn.

как поместить атрибуты в Conn?Я хочу поместить эти атрибуты, которые я пометил как комментарии, но если я попытаюсь установить атрибуты на Conn после определения EcnAdminConf, они не будут видны ... Поэтому я хочу установить их как-то так, чтобы XML начал выглядеть так:

  <Type>
    <Connections>
      <Conn ServerName="FAXSERVER\SQLEXPRESS" DataBase="SPM_483000" /> 
      <Conn ServerName="FAXSERVER\SQLEXPRESS" DataBase="SPM_483000" /> 
    </Connections>
    <UDLFiles /> 
  </Type>

1 Ответ

244 голосов
/ 21 февраля 2011

Добавить XAttribute в конструктор XElement, например

new XElement("Conn", new XAttribute("Server", comboBox1.Text));

. Вы также можете добавить несколько атрибутов или элементов через конструктор

new XElement("Conn", new XAttribute("Server", comboBox1.Text), new XAttribute("Database", combobox2.Text));

или использоватьМетод добавления XElement для добавления атрибутов

XElement element = new XElement("Conn");
XAttribute attribute = new XAttribute("Server", comboBox1.Text);
element.Add(attribute);
...