Cómo poner atributos a través de XElement


126

Tengo este codigo:

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.

¿Cómo agrego atributos a Conn? Quiero agregar los atributos que marqué como comentarios, pero si intento establecer los atributos Conndespués de definirlos EcnAdminConf, no son visibles.

Quiero configurarlos de alguna manera para que el XML se vea así:

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

Respuestas:


252

Agregue XAttributeel constructor de XElement, como

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

También puede agregar múltiples atributos o elementos a través del constructor

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

o puede usar el Método Add del XElementpara agregar atributos

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

¿Es posible construir una lista o matriz de xAttr y agregarlos todos a la vez?
greg

@greg podría usar la sobrecarga .Add () para pasar múltiples objetos XAttribute ( docs.microsoft.com/de-de/dotnet/api/… )
Jehof
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.