¹ØÓÚSQLServer2005µÄѧϰ±Ê¼Ç——XMLµÄ´¦Àí
ÔÚ
SQLServer2005
ÖжÔ
XML
µÄ´¦Àí¹¦ÄÜÏÔÈ»ÔöÇ¿Á˺ܶ࣬ÌṩÁË
query(),value(),exist(),modify(),nodes()
µÈº¯Êý¡£
¹ØÓÚ
xml
£¬ÄÑÒÔÀí½âµÄ²»ÊÇ
SQLServer
ÌṩµÄº¯Êý£¬¶øÊǶÔ
xml
±¾ÉíµÄÀí½â£¬¿´Ëƺܼòµ¥µÄÎļþ¸ñʽ£¬´¦ÀíÆðÀ´È´ÊǷdz£À§Äѵġ£±¾ÎÄÖ»Êdzõ̽һ϶øÒÑ¡£
Ïê¼û
SQLServer
Áª»ú°ïÖú£º
Ö÷Ìâ
˵Ã÷
query()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ¶Ô
XML
ʵÀý½øÐвéѯ¡£
value()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ´Ó
XML
ʵÀý¼ìË÷
SQL
ÀàÐ͵ÄÖµ¡£
exist()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚÈ·¶¨²éѯÊÇ·ñ·µ»Ø·Ç¿Õ½á¹û¡£
modify()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚÖ¸¶¨
XML DML
Óï¾äÒÔÖ´ÐиüС£
nodes()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ½«
XML
²ð·Ö³É¶àÐÐÒÔ½«
XML
ÎĵµµÄ×é³É²¿·Ö´«²¥µ½Ðм¯ÖС£
Ïл°ÉÙ˵£¬Ê×ÏÈ´´½¨Ò»¸ö°üº¬
xml
ÀàÐ͵ÄÊý¾Ý±í£¬Æä´Î´´½¨Ò»¸ö
xml
Îļþ£¬ÔÚ·þÎñ¶Ë°Ñ
xml
ÎļþÄÚÈݼÓÔØ¸ÃÊý¾Ý±íÖС£
CREATE TABLE VisioXML
(
ID
INT,
Doc
XML
);
GO
´´½¨Ò»¸öÃûΪ
xxx.xml
µÄÎļþ£¬ÄÚÈÝÈçÏÂ
/*
<ROOT>
<ROW>
<ID>1</ID>
<NAME SEX="MALE">WBQ</NAME>
</ROW>
<ROW>
<ID>2</ID>
<NAME SEX="FEMALE">CZH</NAME>
</ROW>
</ROOT>
*/
INSERT INTO VisioXML(ID,Doc)
SELECT 4,* from OPENROWSET(BULK
'e:\xxx.xml',SINGLE_BLOB) AS x;
--
ÒÔÏÂΪ
value()
ºÍ
query()
µÄÓ÷¨
--SELECT * from VisioXML WHERE ID=4
SELECT
Doc.value('(/ROOT/ROW[1]/ID/text())[1]','int') RootRowID1,
--
µÚÒ»ÐÐ
ID
µÄÖµ£¬²¢ÇÒת»»Îª
int
ÀàÐÍ
Doc.value('(/ROOT/ROW[2]/ID/text())[1]','int') RootRowID2,
--
µÚ¶þÐÐ
ID
µÄÖµ£¬²¢ÇÒת»»Îª
int
ÀàÐÍ
Doc.value('(/ROOT/ROW[1]/NAME/text())[1]','varchar(20)')
RootRowNAME1,
--
µÚÒ»ÐÐ
NAME
µÄÖµ£¬²¢ÇÒת»»Îª
VARCHAR
ÀàÐÍ
Doc.value('(/ROOT/ROW[1]/NAME/@SEX)[1]','varchar(20)')
RootRowNAME1SEX, --
µÚÒ»ÐÐ
NAME
ÖÐ
SEX
ÊôÐÔµÄÖµ£¬²¢ÇÒ×
Ïà¹ØÎĵµ£º
sp_databases --Áгö·þÎñÆ÷ÉϵÄËùÓÐÊý¾Ý¿â
sp_server_info --Áгö·þÎñÆ÷ÐÅÏ¢£¬Èç×Ö·û¼¯£¬°æ±¾ºÍÅÅÁÐ˳Ðò
sp_stored_procedures--Áгöµ±Ç°»·¾³ÖеÄËùÓд洢¹ý³Ì
sp_tables --Áгöµ±Ç°»·¾³ÖÐËùÓпÉÒÔ²éѯµÄ¶ÔÏó
sp_start_job --Á¢¼´Æô¶¯×Ô¶¯»¯ÈÎÎñ
sp_stop_job --Í£Ö¹ÕýÔÚÖ´ÐеÄ×Ô¶¯»¯ÈÎÎñ
sp_password --Ìí¼Ó»òÐ ......
sd.xmlÎļþ:
<?xml version="1.0" encoding="gb2312"?>
<!--ÕâÊÇÒ»¸öxmlÎļþ-->
<xml1>
<item name="1">µÚÒ»¸öitem</item>
<item name="2">
<item name="1">Õâ¸ö½áµã(1) ......
using System;
using System.Data;
using System.IO;
using System.Xml;
using System.Text;
// ÏàÓ¦C#´úÂ룺
private string ConvertDataTableToXML(DataTable xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
writer = new XmlTextWriter(stream, E ......
SQLServerÈÎÒâÁÐÖ®¼äµÄ¾ÛºÏ ÊÕ²Ø
sqlµÄmaxÖ®ÀàµÄ¾ÛºÏº¯ÊýÖ»ÄÜÕë¶ÔͬһÁеÄnÐÐÔËË㣬Èç¹û¶ÔnÁÐÔËË㣬һ°ã¶¼ÓÃcase Óï¾äÀ´Åжϣ¬Èç¹ûÁÐÉÙ»¹±È½ÏÈÝÒ×д£¬ÁжàÁ˾ÍÂé·³ÁË¡£ÕâÀï½éÉÜÒ»¸öͨ¹ýxmlºÏ²¢Áв¢×ªÎªÐм¯ºóÖ±½ÓÓþۺϺ¯ÊýÇóÖµµÄ·½·¨£¬²âÊÔÓÃÀýºÍ´úÂëÈçÏÂ
----------------------------------------------------------- ......