1.- Primero creamos y accesamos a la BD:
CREATE DATABASE EJEMPLOXML2
USE EJEMPLOXML2
2.- Creamos nuetras respectivas tablas en este caso yo usare solo 2:
CREATE TABLE TABLA1(NUMERO NVARCHAR (10) PRIMARY KEY NOT NULL, NOMBRE NVARCHAR(20), AP_PAT NVARCHAR(20), AP_MAT NVARCHAR(20))
CREATE TABLE TABLA2(NUMERO2 NVARCHAR (10) PRIMARY KEY NOT NULL, NOMBRE2 NVARCHAR(20), AP_PAT2 NVARCHAR(20), AP_MAT2 NVARCHAR(20))
3.- Insertamos unos cuantos registros en las tablas.
4.- Con la siguiente instruccion generamos atumaticamente el XML de la tabla:
SELECT *FROM TABLA1 FOR XML AUTO
Como vemos, no tenemos un nodo raíz, en este caso se usa como nodo el nombre de la tabla y como atributos los campos de dicha tabla, el resultado seria el siguiente.
Con la siguiente instruccion lo que hacemos es poner un espacio de nombre.
WITH XMLNAMESPACES (DEFAULT ‘https://linuxwall32.wordpress.com/’)
Con SELECT TOP elegimos el numero maximo de registros que queremos visualizar.
NOMBRE, AP_PAT, AP_MAT FROM son los campos de nuestra tabla que se visualizaran en el subnodo item, por ultimo generamos el XML y ponemos como nodo raíz TABLA1
Quedandonos el codigo completo así:
WITH XMLNAMESPACES (DEFAULT ‘https://linuxwall32.wordpress.com/’)
SELECT TOP 5 NUMERO, NOMBRE, AP_PAT, AP_MAT FROM TABLA1 as item FOR XML AUTO, ROOT (‘TABLA1’), ELEMENTS