次の方法で共有


Visual Basic XSD 拡張関数のコード

次のコード スニペットは、XSD 拡張関数を使用して、XSD データ型に基づいてノードを返す方法を示します。 このサンプル コードでは、type-is 関数を使用してドキュメント内の最初の文字列のデータ型を返し、type-local-name 関数を使用して文字列データ型の一連のノードを返します。

Visual Basic コードは 1 つの XMLSchemaCache60 オブジェクトを作成し、名前空間 URI 宣言 (urn:books) とスキーマ (books.xsd) をオブジェクトに追加し、次に DOMDocument オブジェクトの schemas プロパティを使用してスキーマを参照します。 コード内で SelectionLanguage プロパティを XPath に設定し、SelectionNamespaces プロパティを "xmlns:ms='urn:schemas-microsoft-com:xslt" に設定して ms: 名前空間プレフィックスが使用できるようにしていることに注意してください。 books.xml ファイルが DOMDocument オブジェクトに読み込まれたときに検証が実行されます。 検証エラーは DOMDocument オブジェクトの parseError プロパティを使用して返されます。

この例を実行する方法

  1. 以下に示すコードを Command1_Click プロシージャにコピーします。 完了した際には、以下のコード スニペットと類似したコードとなるはずです。

  2. Visual Basic のツール バーで [開始] をクリックし、次に [form1] 上の [Command1] をクリックします。

この例を実行すると、Set objNodeList = xmldom.selectNodes "//*[ms:type-is('http://www.w3.org/2001/XMLSchema','string')]") ステートメントにより文字列データ型のノードの一覧が返されます。 For/Next ループにより各ノードが処理され、メッセージ ボックスに各ノードのテキストが表示されます。