XmlArrayItemAttribute.NestingLevel Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает уровень в иерархии XML-элементов, влияющих на нее 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
Значение свойства
Отсчитываемый от нуля индекс набора индексов в массиве массивов.
Примеры
В следующем примере три XmlArrayItemAttribute атрибута применяются к массиву массивов. Чтобы указать, к каким из массивов применяется каждый атрибут, NestingLevel свойству присваивается индекс массивов.
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);
}
}
Комментарии
XML-документ может содержать иерархии XML-элементов. Для представления такой иерархии используется массив массивов. В таком массиве каждый индекс представляет уровень в иерархии. NestingLevel Поэтому свойство используется только при применении XmlArrayItemAttribute к полю, возвращающего массив массивов.
При применении атрибута укажите, какой уровень иерархии влияет на атрибут, задав параметр NestingLevel. Первый индекс всегда имеет значение 0; поэтому необязательно задать его NestingLevel --an XmlArrayItemAttribute без NestingLevel значения применяется к первому индексу массива. Только последующие XmlArrayItemAttribute объекты требуют NestingLevel указанных значений (как 1, 2, 3 и т. д.).