باز کردن فایل های XML در SQL Server

یکی از قابلیت های SQL Server کار کردن با مستندات XML هست، یعنی شما می توانید خروجی کوئری ها را تبدیل به مستندات XML کرده یا یک فایل XML را خوانده و محتویات آن را پردازش کنید. در این نکته قصد داریم تا با نحوه باز کردن یک فایل XML و پردازش آن آشنا شویم. فرض کنید که فایل XML شما با نام data.xml و در درایو D ذخیره شده و شامل محتویات زیر است:

<Customers>
	<Customer Id="1">
		<FirstName>Hossein</FirstName>
		<LastName>Ahmadi</LastName>
		<Address Zipcode="1111111111">
			<Country>Iran</Country>
			<State>Alborz</State>
			<City>Karaj</City>
		</Address>
	</Customer>
	<Customer Id="2">
		<FirstName>Mohammad</FirstName>
		<LastName>Nasiri</LastName>
		<Address Zipcode="2222222222">
			<Country>Iran</Country>
			<State>Alborz</State>
			<City>Mohammad Shahr</City>
		</Address>
	</Customer>
</Customers>

جهت باز کردن این فایل شما باید ابتدا یک متغیر از نوع xml تعریف کرده و بعد بوسیله عبارت OPENROWSET فایل مورد نظر را باز کنید و محتویات آن را در متغیر تعریف شده ذخیره کنید:

declare @xmlDoc xml;
select @xmlDoc = p from OPENROWSET(BULK'd:\data.xml',SINGLE_BLOB) as T(P);
select @xmlDoc;

با اجرای اسکریپت بالا محتویات فایل XML بوسیله دستور select در خروجی نمایش داده می شود. در ادامه می توان متغیر xmlDoc را در عبارت OPENXML برای پردازش محتویات آن استفاده کرد:

declare @xmlDoc xml;
select @xmlDoc = p from OPENROWSET(BULK'd:\data.xml',SINGLE_BLOB) as T(P);
declare @handler int;
exec sp_xml_preparedocument @handler out,@xmlDoc;
select
	*
from
	openxml(@handler,'Customers/Customer/Address')
	with
	(
		[FirstName] nvarchar(200) '../FirstName',
		[ZipCode] nvarchar(10) '@Zipcode',
		[Country] nvarchar(200) 'Country'
	)

البته از openrowset برای باز کردن فایل های دیگر هم می توان استفاده کرد که استفاده آن مشابه اسکریپتی است که در ابتدای نکته گفته شد

نرم افزار هوش تجاری , داشبورد مدیران , داشبورد مدیریتی , گزارش ساز , نرم افزار داشبورد

نرم افزار کلیک ویو ,آموزش کلیک ویو , هوش تجاری کلیک ویو , فیلم کلیک وی , دانلود کلیک ویو

نرم افزار مدیریت فرایند ها , مدیریت فرایند , سامانه ساز , پنجره واحد ,دولت الکترونیک , معماری سازمان , سیستم ساز

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.