Freigeben über


XmlArrayItemAttribute.NestingLevel Eigenschaft

Definition

Ruft die Ebene in einer Hierarchie von XML-Elementen ab, auf die das XmlArrayItemAttribute angewendet wird, oder legt diese fest.

public:
 property int NestingLevel { int get(); void set(int value); };
public int NestingLevel { get; set; }
member this.NestingLevel : int with get, set
Public Property NestingLevel As Integer

Eigenschaftswert

Int32

Der nullbasierte Index einer Reihe von Indizes in einem Array von Arrays.

Beispiele

Im folgenden Beispiel werden drei XmlArrayItemAttribute Attribute auf ein Array von Arrays angewendet. Um anzugeben, für welche Arrays jedes Attribut gilt, wird die NestingLevel Eigenschaft auf den Index der Arrays festgelegt.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Serialization;
using namespace System::IO;

public ref class Forest
{
    // Set the NestingLevel for each array. The first
    // attribute (NestingLevel = 0) is optional.
public:
    [XmlArrayItem(ElementName = "tree", NestingLevel = 0)]
    [XmlArrayItem(ElementName = "branch", NestingLevel = 1)]
    [XmlArrayItem(ElementName = "leaf",NestingLevel = 2)]
    array<array<array<String^>^>^>^ TreeArray;
};

int main()
{
    XmlSerializer^ serializer = gcnew XmlSerializer(Forest::typeid);

    Forest^ constructedForest = gcnew Forest();
    array<array<array<String^>^>^>^ tree = 
        gcnew array<array<array<String^>^>^>(2);

    array<array<String^>^>^ firstBranch = gcnew array<array<String^>^>(1);
    firstBranch[0] = gcnew array<String^>{"One"};
    tree[0] = firstBranch;

    array<array<String^>^>^ secondBranch = gcnew array<array<String^>^>(2);
    secondBranch[0] = gcnew array<String^>{"One","Two"};
    secondBranch[1] = gcnew array<String^>{"One","Two","Three"};
    tree[1] = secondBranch;

    constructedForest->TreeArray = tree;

    serializer->Serialize(Console::Out, constructedForest);
}
using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;

public class Forest{
   /* Set the NestingLevel for each array. The first
   attribute (NestingLevel = 0) is optional. */
   [XmlArrayItem(ElementName = "tree", NestingLevel = 0)]
   [XmlArrayItem(ElementName = "branch", NestingLevel = 1)]
   [XmlArrayItem(ElementName = "leaf",NestingLevel = 2)]
   public string[][][] TreeArray;
}

public class Test{
   public static void Main(){
      Test t = new Test();
      t.SerializeObject("Tree.xml");
   }
   private void SerializeObject(string filename){
      XmlSerializer serializer =
      new XmlSerializer(typeof(Forest));

      Forest f = new Forest();
      string[][][] myTreeArray = new string[2] [][];

      string[][]myBranchArray1= new string[1][];
      myBranchArray1[0]=new string[1]{"One"};
      myTreeArray[0]=myBranchArray1;

      string[][]myBranchArray2= new string[2][];
      myBranchArray2[0]=new string[2]{"One","Two"};
      myBranchArray2[1]=new string[3]{"One","Two","Three"};
      myTreeArray[1]=myBranchArray2;

      f.TreeArray=myTreeArray;

     serializer.Serialize(Console.Out, f);
   }
}

Hinweise

Ein XML-Dokument kann Hierarchien von XML-Elementen enthalten. Um eine solche Hierarchie darzustellen, wird ein Array von Arrays verwendet. In einem solchen Array stellt jeder Index eine Ebene in der Hierarchie dar. Daher wird die NestingLevel Eigenschaft nur verwendet, wenn ein XmlArrayItemAttribute Feld angewendet wird, das ein Array von Arrays zurückgibt.

Geben Sie beim Anwenden des Attributs an, welche Hierarchieebene das Attribut beeinflusst, indem Sie das NestingLevelAttribut festlegen. Der erste Index hat immer den Wert 0; daher ist es optional, den NestingLevel Wert "-an XmlArrayItemAttribute " ohne NestingLevel Wert auf den ersten Arrayindex festzulegen. Nur die nachfolgenden XmlArrayItemAttribute Objekte erfordern NestingLevel Werte (wie 1, 2, 3 usw.).

Gilt für