XmlSchemaValidator.GetExpectedParticles メソッド
アセンブリ: System.Xml (system.xml.dll 内)

Dim instance As XmlSchemaValidator Dim returnValue As XmlSchemaParticle() returnValue = instance.GetExpectedParticles
XmlSchemaParticle オブジェクトの配列。または、予期されるパーティクルがない場合は空の配列。

GetExpectedParticles メソッドで返すことができる有効なパーティクルは、XmlSchemaElement クラスおよび XmlSchemaAny クラスのインスタンスです。
コンテンツ モデルのコンポジタが xs:sequence の場合、シーケンス内にある次のパーティクルだけが返されます。コンテンツ モデルのコンポジタが xs:all または xs:choice の場合は、現在の要素コンテキストに続くすべての有効なパーティクルが返されます。
たとえば、XML スキーマ定義言語 (XSD) スキーマおよびそれに続く XML ドキュメントでは、book 要素を検証した後の現在の要素コンテキストは book 要素になります。GetExpectedParticles メソッドは、title 要素を表す単一の XmlSchemaElement オブジェクトが格納された配列を返します。検証コンテキストが title 要素の場合、GetExpectedParticles メソッドは空の配列を返します。title 要素が検証された後、description 要素が検証されるまでの間に GetExpectedParticles メソッドを呼び出すと、description 要素を表す単一の XmlSchemaElement オブジェクトが格納された配列が返されます。description 要素が検証された後で GetExpectedParticles メソッドを呼び出すと、ワイルドカードを表す単一の XmlSchemaAny オブジェクトが格納された配列が返されます。
Dim reader As XmlReader = XmlReader.Create("input.xml") Dim schemaSet As XmlSchemaSet = New XmlSchemaSet() schemaSet.Add(Nothing, "schema.xsd") Dim manager As XmlNamespaceManager = New XmlNamespaceManager(reader.NameTable) Dim validator As XmlSchemaValidator = New XmlSchemaValidator(reader.NameTable,schemaSet,manager,XmlSchemaValidationFlags.None) validator.Initialize() validator.ValidateElement("book", "", Nothing) validator.ValidateEndOfAttributes(Nothing) For Each element As XmlSchemaElement In validator.GetExpectedParticles() Console.WriteLine(element.Name) Next validator.ValidateElement("title", "", Nothing) validator.ValidateEndOfAttributes(Nothing) For Each element As XmlSchemaElement In validator.GetExpectedParticles() Console.WriteLine(element.Name) Next validator.ValidateEndElement(Nothing) For Each element As XmlSchemaElement In validator.GetExpectedParticles() Console.WriteLine(element.Name) Next validator.ValidateElement("description", "", Nothing) validator.ValidateEndOfAttributes(Nothing) validator.ValidateEndElement(Nothing) For Each particle As XmlSchemaParticle In validator.GetExpectedParticles() Console.WriteLine(particle.GetType()) Next validator.ValidateElement("namespace", "", Nothing) validator.ValidateEndOfAttributes(Nothing) validator.ValidateEndElement(Nothing) validator.ValidateEndElement(Nothing)
XmlReader reader = XmlReader.Create("input.xml"); XmlSchemaSet schemaSet = new XmlSchemaSet(); schemaSet.Add(null, "schema.xsd"); XmlNamespaceManager manager = new XmlNamespaceManager(reader.NameTable); XmlSchemaValidator validator = new XmlSchemaValidator(reader.NameTable, schemaSet, manager, XmlSchemaValidationFlags.None); validator.Initialize(); validator.ValidateElement("book", "", null); validator.ValidateEndOfAttributes(null); foreach (XmlSchemaElement element in validator.GetExpectedParticles()) { Console.WriteLine(element.Name); } validator.ValidateElement("title", "", null); validator.ValidateEndOfAttributes(null); foreach (XmlSchemaElement element in validator.GetExpectedParticles()) { Console.WriteLine(element.Name); } validator.ValidateEndElement(null); foreach (XmlSchemaElement element in validator.GetExpectedParticles()) { Console.WriteLine(element.Name); } validator.ValidateElement("description", "", null); validator.ValidateEndOfAttributes(null); validator.ValidateEndElement(null); foreach (XmlSchemaParticle particle in validator.GetExpectedParticles()) { Console.WriteLine(particle.GetType()); } validator.ValidateElement("namespace", "", null); validator.ValidateEndOfAttributes(null); validator.ValidateEndElement(null); validator.ValidateEndElement(null);
<xs:schema xmlns:xs="http://www.w3c.org/2001/XMLSchema">
<xs:element name="title" type="xs:string" />
<xs:element name="description" type="xs:string" />
<xs:any processContent="lax" maxOccurs="unbounded" />
</xs:sequence>
</xs:element>
</xs:schema>
<book>
<description>My Book's Description</description>
<namespace>System.Xml.Schema</namespace>
</book>

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XmlSchemaValidator.GetExpectedParticles メソッドのページへのリンク