
23/10/2004, 16:45
|
 | | | Fecha de Ingreso: enero-2004 Ubicación: Guarena Venezuela
Mensajes: 139
Antigüedad: 21 años, 3 meses Puntos: 0 | |
Toma este ejemplo: crear un string xml de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?>
<carros>
<carro cod_modelo="001" cod_color="01" placa="123-asd"/>
<carro cod_modelo="002" cod_color="03" placa="999-456"/>
<carro cod_modelo="001" cod_color="02" placa="xxx-asd"/>
<carro cod_modelo="003" cod_color="02" placa="fff-asd"/>
<carro cod_modelo="003" cod_color="01" placa="ttt-asd"/>
</carros>
este tiene forma de tabla:
No tiene porque estar identado, tambien es siguente es v૩do:
<?xml version="1.0" encoding="UTF-8"?><carros><carro cod_modelo="001" cod_color="01" placa="123-asd"/><carro cod_modelo="002" cod_color="03" placa="999-456"/><carro cod_modelo="001" cod_color="02" placa="xxx-asd"/><carro cod_modelo="003" cod_color="02" placa="fff-asd"/><carro cod_modelo="003" cod_color="01" placa="ttt-asd"/></carros>
esta parte es requerida:
<?xml version="1.0" encoding="UTF-8"?>
Crear un stored procedure asi:
CREATE procedure dbo.sp_xml_ins
@strXml text
as
declare @id_doc_xml int
exec sp_xml_preparedocument @id_doc_xml output, @strXml
SELECT
*
into
#t_tabla
FROM
OPENXML (@id_doc_xml, '/carros/carro', 1)
WITH
(
cod_modelo char(3),
cod_color char(2),
placa char(7)
)
-- Luego contin�rabajando con la tabla temporal
*********************************
la llamada al stored la haces con un objeto comand(recomendado)
o de la forma tradicional, pero tienes que ver como concarenar las comillas dentro del strSql
strSql = "sp_xml_ins @strXml='<?xml version="1.0" encoding="UTF-8"?><carros><carro cod_modelo="001" cod_color="01" placa="123-asd"/><carro cod_modelo="002" cod_color="03" placa="999-456"/><carro cod_modelo="001" cod_color="02" placa="xxx-asd"/><carro cod_modelo="003" cod_color="02" placa="fff-asd"/><carro cod_modelo="003" cod_color="01" placa="ttt-asd"/></carros>'"
sqlCnn.execute strSql
....... |