Artigo: 307941 - Última revisão: domingo, 27 de Outubro de 2002 - Revisão: 1.1

COMO: Utilizar o nome - local - ms:type XPath extensão de função para programa DOM MSXML no Visual Basic para Windows

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo passo a passo descreve como utilizar o nome - local - ms:type XPath extensão função para programar o MSXML 4.0 Document Object Model (DOM) no Visual Basic.

Descrição do nome ms:type - local - XPath extensão de função

Implementação de XPath no MSXML 4.0 inclui um conjunto de funções de extensão XSD que pode especificar as expressões que avaliar nós de um documento XML com base no respectivo tipo de dados. O nome - local - ms:type XPath extensão função pode devolver o nome não qualificado de tipo de dados um nó tal como definido num esquema XSD associado.

O nó nome nonqualified a cujo tipo de dados é a serem devolvidos é transmitido como argumento de entrada do nome - local - ms:type XPath extensão função. No exemplo de código neste artigo, o ms:type - local - nome função XPath é utilizado para devolver o nome de tipo nonqualified dados de cada nó no ficheiro Books.XML um de cada vez como árvore DOM é percorrido pela execução do método DOM selectNodes . Cada nó cujos dados não qualificado escreva o nome é devolvido como AuthorType é anexado ao interface IXMLDOMNodeList que o método selectNodes do objecto ' DOMDocument ' gera e devolve.

Criar o documento XML de exemplo

Utilize o bloco de notas para criar e guardar um documento XML denominado Books.XML contém XML seguinte:
<?xml version="1.0"?>
<x:catalog xmlns:x="urn:books" xsi:schemaLocation='urn:books Books.xsd' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>      
   <book>   
      <author>Adams</author>
      <State>NC</State>
      <title>XML Developer's Guide</title>                          
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications with XML.</description>      
   </book>
</x:catalog>
				
Books.XML faz referência a um documento de esquema XSD chamado Books.xsd que define a respectiva estrutura.

Criar o documento XSD exemplo

  1. Utilizar o bloco de notas para criar um documento de esquema XSD denominado Books.xsd que contenha o seguinte código:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:books" xmlns:b="urn:books">
    
      <xs:element name="catalog" type="b:CatalogData"/> 
    
      <xs:complexType name="CatalogData">
        <xs:sequence>
          <xs:element name="book" type="b:bookdata" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
    
      <xs:simpleType name="AuthorType">
        <xs:restriction base="xs:string">
          <xs:maxLength value="5"/>
        </xs:restriction>
      </xs:simpleType>
      
    
      <xs:complexType name="bookdata">
        <xs:sequence>
          <xs:element name="author" type="b:AuthorType"/>
          <xs:element name="State" type="xs:string"/>
          <xs:element name="title" type="xs:string"/>
          <xs:element name="genre" type="xs:string"/>
          <xs:element name="price" type="xs:float"/>
          <xs:element name="publish_date" type="xs:date"/>
          <xs:element name="description" type="xs:string"/>      
        </xs:sequence>
    
        <xs:attribute name="id" type="xs:string"/>
    
      </xs:complexType>
    
    </xs:schema>
  2. Guarde Books.xsd na pasta mesma na qual guardou Books.XML.

Criar e testar o projecto do Visual Basic

  1. No Visual Basic 6.0, crie um novo projecto EXE padrão. É criado o Form1 por predefinição.
  2. Adicione uma referência de projecto Microsoft XML, versão 4.0.
  3. Arraste um botão de comando Form1.
  4. Cole o seguinte código no procedimento de evento clique do botão de comando e especificar o caminho para Books.XML na instrução xmldom.Load :
    Dim xmlschema As MSXML2.XMLSchemaCache40
    
    Dim xmldom As MSXML2.DOMDocument40
    Set xmldom = New MSXML2.DOMDocument40
    
    xmldom.async = False
    xmldom.setProperty "SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'"
    xmldom.Load "<Path to Books.xml>"
    
    Set nlist = xmldom.selectNodes("//*[ms:type-local-name(.)='AuthorType']")
    
    Dim node As MSXML2.IXMLDOMNode
    For Each node In nlist
      Debug.Print node.nodeName
    Next
    o método selectNodes do objecto ' DOMDocument ' Especifica uma expressão XPath que utiliza a função de extensão de nome - local - ms:type para identificar todos os nós do utilizador AuthorType XSD dados tipo complexo.

  5. Guarde e execute o projecto.
  6. Clique no botão comandos para executar a consulta XPath e apresentar o nome ou nomes de nós correspondentes. O elemento autor Books.XML é o único nó cujo tipo de dados é AuthorType . O nome deste nó (autor) é apresentado na janela Immediate do Visual Basic quando o código é executado.

Referências

Para obter uma lista completa de todas as funções de extensão XPath são implementados no MSXML 4.0, consulte o tópico "Microsoft XPath extensão funções" na secção de referência XPath da documentação do MSXML 4.0 Software Development Kit (SDK).


A informação contida neste artigo aplica-se a:
  • Microsoft XML Core Services 4.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
Palavras-chave: 
kbmt kbhowto kbhowtomaster KB307941 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 307941  (http://support.microsoft.com/kb/307941/en-us/ )