Mempertahankan pasangan nama-nilai (LINQ ke XML)
Banyak aplikasi harus menyimpan informasi dan lebih baik disimpan sebagai pasangan nama-nilai. Informasi ini mungkin informasi konfigurasi atau pengaturan global. LINQ ke XML berisi metode yang memudahkan Anda mempertahankan satu set pasangan nama-nilai. Anda dapat menyimpan informasi sebagai atribut atau sebagai sekumpulan elemen turunan.
Satu perbedaan antara menjaga informasi sebagai atribut atau sebagai elemen turunan adalah bahwa atribut memiliki batasan bahwa hanya ada satu atribut dengan nama tertentu untuk suatu elemen. Batasan ini tidak berlaku untuk elemen turunan.
SetAttributeValue dan SetElementValue
Dua metode yang memfasilitasi penetapan pasangan nama-nilai adalah SetAttributeValue dan SetElementValue. Kedua metode ini memiliki semantik yang sama.
SetAttributeValue dapat menambahkan, memodifikasi, dan menghapus atribut elemen.
- Jika Anda memanggil SetAttributeValue dengan nama atribut yang tidak ada, metode membuat atribut baru dan menambahkannya ke elemen yang ditentukan.
- Jika Anda memanggil SetAttributeValue dengan nama atribut yang ada dan dengan beberapa konten tertentu, konten atribut diganti dengan konten yang ditentukan.
- Jika Anda memanggil SetAttributeValue dengan nama atribut yang ada, dan menentukan
null
untuk konten, atribut akan dihapus dari induknya.
SetElementValue dapat menambahkan, memodifikasi, dan menghapus elemen turunan dari suatu elemen.
- Jika Anda memanggil SetElementValue dengan nama elemen turunan yang tidak ada, metode membuat elemen baru dan menambahkannya ke elemen yang ditentukan.
- Jika Anda memanggil SetElementValue dengan nama elemen yang ada dan dengan beberapa konten tertentu, konten elemen diganti dengan konten yang ditentukan.
- Jika Anda memanggil SetElementValue dengan nama elemen yang ada, dan menentukan
null
untuk konten, elemen dihapus dari induknya.
Contoh: Menggunakan SetAttributeValue
untuk membuat dan memelihara daftar pasangan nama-nilai
Contoh berikut membuat elemen tanpa atribut. Kemudian ia menggunakan metode SetAttributeValue untuk membuat dan memelihara daftar pasangan nama-nilai.
// Create an element with no content.
XElement root = new XElement("Root");
// Add a number of name-value pairs as attributes.
root.SetAttributeValue("Top", 22);
root.SetAttributeValue("Left", 20);
root.SetAttributeValue("Bottom", 122);
root.SetAttributeValue("Right", 300);
root.SetAttributeValue("DefaultColor", "Color.Red");
Console.WriteLine(root);
// Replace the value of Top.
root.SetAttributeValue("Top", 10);
Console.WriteLine(root);
// Remove DefaultColor.
root.SetAttributeValue("DefaultColor", null);
Console.WriteLine(root);
' Create an element with no content.
Dim root As XElement = <Root/>
' Add a number of name-value pairs as attributes.
root.SetAttributeValue("Top", 22)
root.SetAttributeValue("Left", 20)
root.SetAttributeValue("Bottom", 122)
root.SetAttributeValue("Right", 300)
root.SetAttributeValue("DefaultColor", "Color.Red")
Console.WriteLine(root)
' Replace the value of Top.
root.SetAttributeValue("Top", 10)
Console.WriteLine(root)
' Remove DefaultColor.
root.SetAttributeValue("DefaultColor", Nothing)
Console.WriteLine(root)
Contoh ini menghasilkan output berikut:
<Root Top="22" Left="20" Bottom="122" Right="300" DefaultColor="Color.Red" />
<Root Top="10" Left="20" Bottom="122" Right="300" DefaultColor="Color.Red" />
<Root Top="10" Left="20" Bottom="122" Right="300" />
Contoh: Menggunakan SetElementValue
untuk membuat dan memelihara daftar pasangan nama-nilai
Contoh berikut membuat elemen tanpa elemen turunan. Kemudian ia menggunakan metode SetElementValue untuk membuat dan memelihara daftar pasangan nama-nilai.
// Create an element with no content.
XElement root = new XElement("Root");
// Add a number of name-value pairs as elements.
root.SetElementValue("Top", 22);
root.SetElementValue("Left", 20);
root.SetElementValue("Bottom", 122);
root.SetElementValue("Right", 300);
root.SetElementValue("DefaultColor", "Color.Red");
Console.WriteLine(root);
Console.WriteLine("----");
// Replace the value of Top.
root.SetElementValue("Top", 10);
Console.WriteLine(root);
Console.WriteLine("----");
// Remove DefaultColor.
root.SetElementValue("DefaultColor", null);
Console.WriteLine(root);
' Create an element with no content.
Dim root As XElement = <Root/>
' Add a number of name-value pairs as elements.
root.SetElementValue("Top", 22)
root.SetElementValue("Left", 20)
root.SetElementValue("Bottom", 122)
root.SetElementValue("Right", 300)
root.SetElementValue("DefaultColor", "Color.Red")
Console.WriteLine(root)
Console.WriteLine("----")
' Replace the value of Top.
root.SetElementValue("Top", 10)
Console.WriteLine(root)
Console.WriteLine("----")
' Remove DefaultColor.
root.SetElementValue("DefaultColor", Nothing)
Console.WriteLine(root)
Contoh ini menghasilkan output berikut:
<Root>
<Top>22</Top>
<Left>20</Left>
<Bottom>122</Bottom>
<Right>300</Right>
<DefaultColor>Color.Red</DefaultColor>
</Root>
----
<Root>
<Top>10</Top>
<Left>20</Left>
<Bottom>122</Bottom>
<Right>300</Right>
<DefaultColor>Color.Red</DefaultColor>
</Root>
----
<Root>
<Top>10</Top>
<Left>20</Left>
<Bottom>122</Bottom>
<Right>300</Right>
</Root>
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk