So setzen Sie Attribute über XElement

126

Ich habe diesen 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.

Wie füge ich Attribute hinzu Conn? Ich möchte die Attribute hinzufügen, die ich als Kommentare markiert habe, aber wenn ich versuche, die Attribute Connnach dem Definieren zu aktivieren EcnAdminConf, sind sie nicht sichtbar.

Ich möchte sie irgendwie so einstellen, dass das XML so aussieht:

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

Antworten:

252

Fügen Sie XAttributeim Konstruktor von XElement, wie

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

Sie können auch mehrere Attribute oder Elemente über den Konstruktor hinzufügen

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

oder Sie können die Add-Methode von verwenden XElement, um Attribute hinzuzufügen

XElement element = new XElement("Conn");
XAttribute attribute = new XAttribute("Server", comboBox1.Text);
element.Add(attribute);
Jehof
quelle
Ist es möglich, eine Liste oder ein Array von xAttr zu erstellen und alle gleichzeitig hinzuzufügen?
Greg
@greg Sie könnten die .Add () - Überladung verwenden, um mehrere XAttribute-Objekte ( docs.microsoft.com/de-de/dotnet/api/… ) zu übergeben
Jehof