Compartilhar via


Método DataRecordsets.AddFromXML (Visio)

Adiciona um objeto DataRecordset à coleção DataRecordsets e preenche o conjunto de registros de dados resultante com dados fornecidos na forma de uma cadeia de caracteres XML.

Observação

This Visio object or member is available only to licensed users of Visio Professional 2013.

Sintaxe

expressão. AddFromXML (XMLString, AddOptions, Name)

Expressão Uma expressão que retorna um objeto DataRecordsets .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Xmlstring Obrigatório String Uma cadeia de caracteres XML que está em conformidade com o esquema XML clássico do Microsoft ActiveX Data Objects (ADO) e que descreve os dados que você deseja importar.
AddOptions Obrigatório Long Opções que determinam as propriedades do conjunto de registro de dados a ser adicionado. Uma combinação de um ou mais valores enumerados de VisDataRecordsetAddOptions. Para obter mais informações, consulte Comentários.
Name Opcional String Atribui ao objeto DataRecordset adicionado um nome para exibição.

Valor de retorno

DataRecordset

Comentários

Como parâmetro XMLString, passa uma cadeia de caracteres XML que está em conformidade com o esquema XML clássico do ADO e que descreve os dados que você quer importar. No exemplo mais adiante, neste tópico, é mostrada uma cadeia de caracteres XML simples.

O parâmetro AddOptions pode ser uma combinação de um ou mais dos valores a seguir, contidos na enumeração VisDataRecordsetAddOptions, que é declarada na biblioteca de tipos do Office Visio. O padrão é zero (0), o que especifica que nenhuma das opções seja definida.

Constant Valor Descrição
visDataRecordsetNoExternalDataUI 1 Impede que os dados de um novo conjunto de registros de dados sejam exibidos na janela Dados Externos.
visDataRecordsetNoAdvConfig 4 Impede que o conjunto de registros de dados seja exibido na caixa de diálogo Configurar Atualização.
visDataRecordsetDontCopyLinks 16 Adiciona um conjunto de registros de dados, mas os links de dados de forma não são cortados ou copiados.

Depois de atribuir esses valores, você não pode alterá-los durante a existência do objeto DataRecordset.

O argumento Name é uma cadeia de caracteres opcional que permite atribuir ao conjunto de registros de dados um nome para exibição. Caso você especifique que a janela Dados Externos seja exibida na interface do usuário do Visio, o nome que você passar para esse argumento aparecerá na guia da janela Dados Externos correspondente ao conjunto de registros de dados adicionado.

Em contrapartida aos conjuntos de registros de dados criados com os métodos Add ou AddFromConnectionFile, os conjuntos de registros de dados criados com o método AddFromXML não são associados a um objeto DataConnection.

Além disso, o Visio nunca atualiza um conjunto de registros de dados que você tenha criado usando automaticamente o método AddFromXML, independentemente da configuração da propriedade DataRecordset.RefreshInterval. Para atualizar os dados em um conjunto de registros de dados, você deve chamar o método DataRecordset.RefreshUsingXML .

Se o método AddFromXML for bem-sucedido, ele executará as seguintes ações:

  • Cria um objeto DataRecordset e atribui a ele o nome especificado no parâmetro Name. Se você não especificar um nome, o Visio atribuirá o conjunto de registros de dados ao nome da tabela de banco de dados que é a fonte dos dados.

  • Mapeia os tipos de dados das colunas da fonte de dados para os tipos de dados do Visio equivalentes, enquanto filtra o resultado para remover as colunas dados-fonte que não possam ser vinculadas a formas do Visio por não existir equivalência com um tipo de dado do Visio.

  • Atribui uma identificação de dados-linha do Visio a cada linha do conjunto de registros de dados, a não ser que os dados importados já contenham uma identificação dados-linha do Visio válida. Para obter mais informações sobre IDs de linha de dados do Visio, consulte o tópico DataRecordset.GetDataRowIDs .

Exemplo

A macro VBA (Microsoft Visual Basic for Applications) a seguir mostra como você pode usar o método AddFromXML para conectar um desenho do Visio a dados contidos em uma cadeia de caracteres XML do ADO.

Uma cadeia de caracteres XML de exemplo é mostrada aqui. Quando ela é passada para o método AddFromXML, essa cadeia de caracteres cria um conjunto de registros de dados que contém uma coluna, chamada "Cities" (Cidades) e duas linhas de dados com entradas naquela coluna consistindo em nomes de cidades.

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' 
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' 
xmlns:rs='urn:schemas-microsoft-com:rowset' 
xmlns:z='#RowsetSchema'> 
<s:Schema id='RowsetSchema'> 
<s:ElementType name='row' content='eltOnly' rs:updatable='true'> 
<s:AttributeType name='c1' rs:name='Cities' 
rs:number='2' rs:nullable='true' rs:maydefer='true' rs:write='true'> 
<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/> 
</s:AttributeType> 
<s:extends type='rs:rowbase'/> 
</s:ElementType> 
</s:Schema> 
<rs:data> 
<z:row c1='Seattle' /> 
<z:row c1='Redmond' /> 
</rs:data> 
</xml>

No código de exemplo a seguir, passamos ao método AddFromXML o nome de uma cadeia de caracteres XML contendo os dados e o nome de uma cadeia de caracteres que contém o nome para exibição que queremos atribuir ao novo conjunto de registros de dados que está sendo criado.

Public Sub AddFromXML_Example() 
 
    Dim strXML As String 
    Dim strName As String 
    Dim vsoDataRecordset As Visio.DataRecordset 
 
    strXML = "<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'" + Chr(10) _ 
    & "xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'" + Chr(10) _ 
    & "xmlns:rs='urn:schemas-microsoft-com:rowset'" + Chr(10) _ 
    & "xmlns:z='#RowsetSchema'>" + Chr(10) _ 
    & "<s:Schema id='RowsetSchema'>" + Chr(10) _ 
    & "<s:ElementType name='row' content='eltOnly' rs:updatable='true'>" + Chr(10) _ 
    & "<s:AttributeType name='c1' rs:name='Cities'" + Chr(10) _ 
    & "rs:number='2' rs:nullable='true' rs:maydefer='true' rs:write='true'>" + Chr(10) _ 
    & "<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>" + Chr(10) _ 
    & "</s:AttributeType>" + Chr(10) _ 
    & "<s:extends type='rs:rowbase'/>" + Chr(10) _ 
    & "</s:ElementType>" + Chr(10) _ 
    & "</s:Schema>" + Chr(10) _ 
    & "<rs:data>" + Chr(10) _ 
    & "<z:row c1='Seattle'/>" + Chr(10) _ 
    & "<z:row c1='Redmond'/>" + Chr(10) _ 
    & "</rs:data>" + Chr(10) _ 
    & "</xml>" 
 
    strName = "City Names" 
 
    Set vsoDataRecordset = ThisDocument.DataRecordsets.AddFromXML(strXML, 0, strName) 
 
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.