XmlArrayItemAttribute.NestingLevel Propriété

Définition

Obtient ou définit le niveau dans une hiérarchie d'éléments XML affectés par XmlArrayItemAttribute.

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

Valeur de propriété

Int32

Index de base zéro d'un ensemble d'index dans un tableau de tableaux.

Exemples

L’exemple suivant applique trois XmlArrayItemAttribute attributs à un tableau de tableaux. Pour spécifier les tableaux auxquels chaque attribut s’applique, la NestingLevel propriété est définie sur l’index des tableaux.

#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);
   }
}

Remarques

Un document XML peut contenir des hiérarchies d’éléments XML. Pour représenter une telle hiérarchie, un tableau de tableaux est utilisé. Dans un tel tableau, chaque index représente un niveau dans la hiérarchie. Par conséquent, la propriété est utilisée uniquement lors de l’application NestingLevel d’un XmlArrayItemAttribute champ qui retourne un tableau de tableaux.

Lors de l’application de l’attribut, spécifiez le niveau de hiérarchie affecté par l’attribut en définissant le NestingLevel. Le premier index a toujours la valeur 0 ; Par conséquent, il est facultatif de définir son NestingLevel --an XmlArrayItemAttribute sans NestingLevel valeur est appliqué au premier index de tableau. Seuls les objets suivants XmlArrayItemAttribute nécessitent NestingLevel des valeurs spécifiées (comme 1, 2, 3, etc.).

S’applique à