Comment mettre des attributs via XElement


126

J'ai ce code:

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.

Comment ajouter des attributs à Conn? Je souhaite ajouter les attributs que j'ai marqués comme commentaires, mais si j'essaie de définir les attributs Connaprès la définition EcnAdminConf, ils ne sont pas visibles.

Je veux les définir d'une manière ou d'une autre pour que le XML ressemble à ceci:

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

Réponses:


252

Ajoutez XAttributele constructeur de XElement, comme

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

Vous pouvez également ajouter plusieurs attributs ou éléments via le constructeur

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

ou vous pouvez utiliser la méthode Add du XElementpour ajouter des attributs

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

Est-il possible de créer une liste ou un tableau de xAttr et de les ajouter tous en même temps?
greg

@greg, vous pouvez utiliser .Add () - surcharge pour transmettre plusieurs objets XAttribute ( docs.microsoft.com/de-de/dotnet/api/… )
Jehof
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.