View Full Version : چگونگی کار با xml
رامین مرادی
پنج شنبه 10 فروردین 1391, 19:26 عصر
سلام دوستان
من یه سری فایل دارم که ایکس ام ال هستن چه طوری اونا رو تو اس کیو ال باز کنم ممنون از راهنمایی هاتون:متفکر:
in_chand_nafar
جمعه 11 فروردین 1391, 14:32 عصر
با سلام
با استفاده از تابع OpenRowSet منتها اون هم یه سری شرایط داره مثلا سرویس SQL به اون فایل دسترسی داشته باشه و...
این هم مثالش
DECLARE @xml xml
SELECT
@xml=CAST(BulkColumn as xml)
FROM OPENROWSET(BULK N'C:\test\Orders.xml', SINGLE_BLOB) A
حالا داخل متغییر @xml داده شما موجود است می توانید با XQuery و... ازش Query بگیرین
در ضمن اگه سناریوی خودتون رو بیشتر توضیح دهید بهتر راهنمایی میشین
موفق باشین
رامین مرادی
شنبه 12 فروردین 1391, 14:24 عصر
دوست عزیز من یه فایل ایکس ام ال دارم که توش رویداد های سال رو نوسته میخوام بدونم چه طوری اونها رو میتونم توی یه جدول اس کیو ال بریزم
in_chand_nafar
شنبه 12 فروردین 1391, 19:59 عصر
به این مثال نگاه کن دیتاها را با این روش استخراج و در جدول مورد نیاز خودت بریزشون
DECLARE @X XML='<row>
<IdInvernadero>8</IdInvernadero>
<IdProducto>3</IdProducto>
<IdCaracteristica1>8</IdCaracteristica1>
<IdCaracteristica2>8</IdCaracteristica2>
<Cantidad>25</Cantidad>
<Folio>4568457</Folio>
</row>
<row>
<IdInvernadero>3</IdInvernadero>
<IdProducto>3</IdProducto>
<IdCaracteristica1>1</IdCaracteristica1>
<IdCaracteristica2>2</IdCaracteristica2>
<Cantidad>72</Cantidad>
<Folio>4568457</Folio>
</row>'
SELECT @X
SELECT
Tbl.Col.value('IdInvernadero[1]', 'smallint'),
Tbl.Col.value('IdProducto[1]', 'smallint'),
Tbl.Col.value('IdCaracteristica1[1]', 'smallint'),
Tbl.Col.value('IdCaracteristica2[1]', 'smallint'),
Tbl.Col.value('Cantidad[1]', 'int'),
Tbl.Col.value('Folio[1]', 'varchar(7)')
FROM @X.nodes('//row') Tbl(Col)
موفق باشید
http://stackoverflow.com/questions/3989395/convert-xml-to-table-sql-server
http://msdn.microsoft.com/en-us/library/ms345117%28SQL.90%29.aspx
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.