Jak umieścić atrybuty za pośrednictwem XElement


126

Mam ten kod:

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.

Jak dodać atrybuty do Conn? Chcę dodać atrybuty, które oznaczyłem jako komentarze, ale jeśli spróbuję włączyć atrybuty Connpo zdefiniowaniuEcnAdminConf , nie są one widoczne.

Chcę je jakoś ustawić, aby XML wyglądał następująco:

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

Odpowiedzi:


252

Dodaj XAttributekonstruktora XElement, jak

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

Możesz również dodać wiele atrybutów lub elementów za pośrednictwem konstruktora

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

lub możesz użyć metody Add, XElementaby dodać atrybuty

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

Czy można zbudować listę lub tablicę xAttr i dodać je wszystkie naraz?
greg

@greg, możesz użyć .Add () - przeciążenie, aby przekazać wiele obiektów XAttribute ( docs.microsoft.com/de-de/dotnet/api/… )
Jehof
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.