Origem XML

A origem XML lê um arquivo de dados XML e preenche as colunas na saída de origem com os dados.

Os dados de arquivos XML frequentemente incluem relações hierárquicas. Por exemplo, um arquivo de dados XML pode representar catálogos e itens em catálogos. Antes de os dados serem inseridos no fluxo de dados, é necessário determinar a relação dos elementos no arquivo de dados XML e gerar uma saída para cada elemento do arquivo.

A origem XML usa um esquema para interpretar os dados XML. A origem XML suporta o uso de um arquivo XSD (XML Schema Definition) ou de esquemas embutidos para converter os dados XML em um formato tabular. Se a origem XML for configurada com a caixa de diálogo Editor de Origem XML, a interface de usuário poderá gerar um XSD a partir do arquivo de dados XML especificado.

ObservaçãoObservação

DTDs não são suportados.

Os esquemas só podem dar suporte a um único namespace; eles não dão suporte a coleções de esquema.

ObservaçãoObservação

A origem XML não valida os dados no arquivo de XML em relação ao XSD.

A origem XML dá suporte a três modos diferentes de acesso aos dados. Você pode especificar o local do arquivo de dados XML, a variável que contém o local do arquivo ou a variável que contém os dados XML.

A origem XML inclui as propriedades personalizadas XMLData e XMLSchemaDefinition que podem ser atualizadas por expressões de propriedade quando o pacote é carregado. Para obter mais informações, consulte Referência de Expressão do Integration Services, Usando expressões de propriedade em pacotes e Propriedades personalizadas de fontes.

A origem XML dá suporte a várias saídas regulares e saídas de erro.

O SQL Server Integration Services inclui a caixa de diálogo Editor de Origem XML para configurar a origem XML. Esta caixa de diálogo está disponível no Designer SSIS.

Usando o Editor de Origem XML

Os dados dos arquivos XML frequentemente incluem relações hierárquicas. A caixa de diálogo Editor de Origem XML usa o esquema especificado para gerar as saídas de origem XML. É possível especificar um arquivo XSD, usar um esquema embutido ou gerar um XSD a partir do arquivo de dados XML especificado. O esquema deve estar disponível em tempo de design.

A origem XML gera estruturas tabulares a partir dos dados XML criando uma saída para cada elemento que contém outros elementos dos arquivos XML. Por exemplo, se os dados XML representarem catálogos e itens em catálogos, a origem XML criará uma saída para os catálogos e uma saída para cada tipo de item contido nos catálogos. A saída de cada item conterá colunas de saída para os atributos do item em questão.

Para fornecer informações sobre a relação hierárquica dos dados nas saídas, a origem XML adiciona uma coluna às saídas que identifica o elemento pai de cada elemento filho. Usando o exemplo de catálogos com tipos de itens diferentes, cada item teria um valor de coluna para identificar o catálogo ao qual pertence.

A origem XML cria uma saída para cada elemento, mas não é necessário usar todas as saídas. Você pode excluir todas as saídas que não deseja usar ou apenas não se conectar a um componente downstream.

A origem XML também gera os nomes de saída para assegurar que os nomes são sejam ambíguos. Esses nomes podem ser longos e talvez não identifiquem as saídas de uma maneira útil. Você pode renomear as saídas, contanto que seus nomes permaneçam exclusivos. Você também pode modificar o tipo de dados e o comprimento de colunas de saída.

A cada saída, a origem XML adiciona uma saída de erro. Por padrão, as colunas das saídas de erro têm um tipo de dados de cadeia de caracteres Unicode (DT_WSTR) com 255 caracteres, mas é possível configurar as colunas das saídas de erro modificando o tipo e o comprimento dos dados.

Se o arquivo de dados XML tiver elementos que não estão no XSD, esses elementos serão ignorados e nenhuma saída será gerada para eles. Por outro lado, se o arquivo de dados XML tiver elementos ausentes que estão representados no XSD, a saída vai conter colunas com valores nulos.

Quando os dados são extraídos do arquivo de dados XML, eles são convertidos em um tipo de dados do Integration Services. No entanto, a origem XML não pode converter os dados XML nos tipos de dados DT_TIME2 ou DT_DBTIMESTAMP2 porque a origem não suporta esses tipos de dados. Para obter mais informações, consulte Tipos de dados do Integration Services.

O XSD ou o esquema embutido pode especificar o tipo de dados para os elementos, mas, se não fizerem isso, a caixa de diálogo Editor de Origem XML atribuirá o tipo de dados de cadeia de caracteres Unicode (DT_WSTR) à coluna na saída que contém o elemento e definirá o comprimento da coluna como 255 caracteres.

Se o esquema especificar o comprimento máximo de um elemento, o comprimento da coluna de saída será definido para esse valor. Se o comprimento máximo for maior do que o comprimento suportado pelo tipo de dados do Integration Services no qual o elemento foi convertido, os dados serão truncados no comprimento máximo do tipo de dados. Por exemplo, se o comprimento de uma cadeia de caracteres for 5000, ela será truncada em 4000 caracteres porque o comprimento máximo do tipo de dados DT_WSTR é 4000 caracteres; do mesmo modo, os dados de byte são truncados em 8000 caracteres, que é o comprimento máximo do tipo de dados DT_BYTES. Se o esquema não especificar nenhum comprimento máximo, o comprimento padrão das colunas com qualquer tipo de dados será definido como 255. O truncamento dos dados na origem XML é tratada do mesmo modo que seria em outros componentes de fluxo de dados. Para obter mais informações, consulte Manipulando erros no fluxo de dados.

Você pode modificar o tipo de dados e o comprimento da coluna. Para obter mais informações, consulte Tipos de dados do Integration Services.

Configurando a origem XML

Você pode definir propriedades com o Designer SSIS ou programaticamente.

Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor de Origem XML, clique em um dos seguintes tópicos:

A caixa de diálogo Editor Avançado reflete as propriedades que podem ser definidas programaticamente. Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor Avançado ou programaticamente, clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir as propriedades, clique em um dos seguintes tópicos:

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.