Aracılığıyla paylaş


Ad-değer çiftlerini koruma (LINQ to XML)

Birçok uygulamanın en iyi ad-değer çiftleri olarak tutulan bilgileri tutması gerekir. Bu bilgiler yapılandırma bilgileri veya genel ayarlar olabilir. LINQ to XML, bir dizi ad-değer çiftini korumayı kolaylaştıran yöntemler içerir. Bilgileri öznitelik olarak veya bir alt öğe kümesi olarak tutabilirsiniz.

Bilgileri öznitelik veya alt öğe olarak tutma arasındaki farklardan biri, özniteliklerin bir öğe için belirli bir ada sahip tek bir öznitelik olabileceği kısıtlaması olmasıdır. Bu sınırlama alt öğeler için geçerli değildir.

SetAttributeValue ve SetElementValue

Ad-değer çiftlerinin tutulmasını kolaylaştıran iki yöntem ve SetElementValueşeklindedirSetAttributeValue. Bu iki yöntem benzer semantiklere sahiptir.

SetAttributeValue bir öğenin özniteliklerini ekleyebilir, değiştirebilir ve kaldırabilir.

  • Mevcut olmayan bir özniteliğin adıyla çağırırsanız SetAttributeValue , yöntemi yeni bir öznitelik oluşturur ve bunu belirtilen öğeye ekler.
  • Var olan bir özniteliğin adıyla ve belirli bir içerikle çağırırsanız SetAttributeValue , özniteliğin içeriği belirtilen içerikle değiştirilir.
  • Var olan bir özniteliğin adıyla çağırır SetAttributeValue ve içerik için belirtirseniz null , öznitelik üst öğesinden kaldırılır.

SetElementValue bir öğenin alt öğelerini ekleyebilir, değiştirebilir ve kaldırabilir.

  • Mevcut olmayan bir alt öğenin adıyla çağırırsanız SetElementValue , yöntemi yeni bir öğe oluşturur ve bunu belirtilen öğeye ekler.
  • Var olan bir öğenin adıyla ve belirli bir içerikle çağırırsanız SetElementValue , öğenin içeriği belirtilen içerikle değiştirilir.
  • Var olan bir öğenin adıyla çağırır SetElementValue ve içerik için belirtirseniz null , öğesi üst öğesinden kaldırılır.

Örnek: Ad-değer çiftlerinin listesini oluşturmak ve korumak için kullanın SetAttributeValue

Aşağıdaki örnek özniteliksiz bir öğe oluşturur. Ardından, ad-değer çiftlerinin listesini oluşturmak ve korumak için yöntemini kullanır SetAttributeValue .

// 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)

Bu örnek aşağıdaki çıkışı oluşturur:

<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" />

Örnek: Ad-değer çiftlerinin listesini oluşturmak ve korumak için kullanın SetElementValue

Aşağıdaki örnek, alt öğe içermeyen bir öğe oluşturur. Ardından, ad-değer çiftlerinin listesini oluşturmak ve korumak için yöntemini kullanır SetElementValue .

// 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)

Bu örnek aşağıdaki çıkışı oluşturur:

<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>

Ayrıca bkz.