Visual Basic XSD 扩展函数代码

以下小块代码显示如何使用 XSD 扩展函数根据 XSD 数据类型返回节点。 此示例代码使用 type-is 函数返回文档中第一个字符串数据类型,使用 type-local-name 函数返回字符串数据类型的节点列表。

Visual Basic 代码创建一个 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 循环对节点进行循环访问,并在消息框中显示每个节点的文本。