วิธีใส่แอตทริบิวต์ผ่าน XElement


126

ฉันมีรหัสนี้:

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.

ฉันจะเพิ่มแอตทริบิวต์ได้Connอย่างไร? ฉันต้องการเพิ่มแอตทริบิวต์ที่ฉันทำเครื่องหมายเป็นความคิดเห็น แต่ถ้าฉันพยายามตั้งค่าแอตทริบิวต์ConnหลังจากกำหนดEcnAdminConfแล้วจะไม่ปรากฏให้เห็น

ฉันต้องการตั้งค่าให้ XML มีลักษณะดังนี้:

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

คำตอบ:


252

เพิ่มXAttributeในตัวสร้างของXElementเช่น

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

คุณยังสามารถเพิ่มแอตทริบิวต์หรือองค์ประกอบหลายรายการผ่านตัวสร้าง

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

หรือคุณสามารถใช้ Add-Method ของXElementเพื่อเพิ่มแอตทริบิวต์

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

เป็นไปได้ไหมที่จะสร้างรายการหรืออาร์เรย์ของ xAttr และเพิ่มทั้งหมดพร้อมกัน?
greg

@greg คุณสามารถใช้ .Add () - โอเวอร์โหลดเพื่อส่งผ่านวัตถุ XAttribute หลายตัว ( docs.microsoft.com/de-de/dotnet/api/… )
Jehof
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.