PDA

View Full Version : چگونگی کار با xml



رامین مرادی
پنج شنبه 10 فروردین 1391, 18:26 عصر
سلام دوستان
من یه سری فایل دارم که ایکس ام ال هستن چه طوری اونا رو تو اس کیو ال باز کنم ممنون از راهنمایی هاتون:متفکر:

in_chand_nafar
جمعه 11 فروردین 1391, 13: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, 13:24 عصر
دوست عزیز من یه فایل ایکس ام ال دارم که توش رویداد های سال رو نوسته میخوام بدونم چه طوری اونها رو میتونم توی یه جدول اس کیو ال بریزم

in_chand_nafar
شنبه 12 فروردین 1391, 18: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