Visual Basic XSD 擴充程式函式程式碼
下列程式碼片段顯示如何使用 XSD 擴充函式,根據節點的 XSD 資料型別傳回該節點。這段範例程式碼是使用 type-is 函式傳回文件的第一個字串資料型別,並使用 type-local-name 函式傳回字串資料型別的節點清單。
Visual Basic 程式碼會建立 XMLSchemaCache50
物件、將命名空間 URI 宣告 (urn:books
) 和結構描述 (books.xsd) 加入至物件,然後使用 DOMDocument
物件的 schemas
屬性參考結構描述。請注意,程式碼中已將 SelectionLanguage
屬性設定為 XPath,並將 SelectionNamespaces
屬性設定為 "xmlns:ms='urn:schemas-microsoft-com:xslt"
,其目的是為了使用 ms:
命名空間前置詞。將 books.xml 檔載入 DOMDocument
物件時即會執行驗證,並且還會使用 DOMDocument
物件的 parseError
屬性傳回驗證錯誤。
執行範例
將下面所示的程式碼複製到 Command1_Click 程序。完成後,您看到的程式碼應該類似以下的程式碼片段。
在 Visual Basic 工具列上,按一下 [開始],再按 [form1] 上的 [Command1] 按鈕。
執行範例時,Set objNodeList = xmldom.selectNodes "//*[ms:type-is('http://www.w3.org/2001/XMLSchema','string')]")
陳述式將傳回資料型別為 String 的節點清單。For/Next 迴圈會逐一檢查節點,並在訊息方塊中顯示每個節點的文字。