Come mettere gli attributi tramite XElement


126

Ho questo codice:

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.

Come aggiungo gli attributi a Conn? Voglio aggiungere gli attributi contrassegnati come commenti, ma se provo a impostarli Conndopo EcnAdminConfaverli definiti , non sono visibili.

Voglio impostarli in qualche modo in modo che l'XML assomigli a questo:

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

Risposte:


252

Aggiungi XAttributenel costruttore del XElement, come

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

Puoi anche aggiungere più attributi o elementi tramite il costruttore

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

oppure è possibile utilizzare il metodo Aggiungi di XElementper aggiungere attributi

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

È possibile creare un elenco o un array di xAttr e aggiungerli tutti in una volta?
Greg

@greg puoi usare .Add () - overload per passare più oggetti XAttribute ( docs.microsoft.com/de-de/dotnet/api/… )
Jehof
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.