SqlServer²Ù×÷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 ÎĵµµÄ×é³É²¿·Ö´«²¥µ½Ðм¯ÖС£
CREATE TABLE VisioXML
(
ID INT,
Doc XML
);
GO
INSERT INTO VisioXML(ID,Doc)
SELECT 4,* from OPENROWSET(BULK 'c:\abc.xml',SINGLE_BLOB) AS x;
--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 ÊôÐÔµÄÖµ£¬²¢ÇÒת»»Îª VARCHAR ÀàÐÍ
Doc.query('/ROOT') Root, --ROOT ϵÄËùÓÐ XML ÄÚÈÝ£¬ÀàÐÍΪ XML
--Doc.query('/ROOT/ROW[1]') RootRow1, --ROOT ϵÚÒ»ÐÐËùÓÐµÄ XML ÄÚÈÝ£¬ÀàÐÍΪ XML
Doc.query('/ROOT/ROW[2]') RootRow2 --ROOT ϵڶþÐÐËùÓÐµÄ XML ÄÚÈÝ£¬ÀàÐÍΪ XML
from VisioXML
WHERE ID=4
SELECT
Doc.exist('/ROOT/ROW[1]/NAME[(@SEX cast as xs:string?) = xs:string("MALE")]') Row1EQStringMale,
Doc.exist('/ROOT/ROW[1]/NAME[(@SEX cast as xs:string?) = "MALE"]') Row1EQ
Ïà¹ØÎĵµ£º
public partial class Form1 : Form
{
DataSet ds = new DataSet();
public Form1()
{
......
»°Ëµ°³ÊǸöÀÁÈË¡£¡£¡£¡£
×°ÍêSQLSERVER2005 ÒòΪ¿ª»úºÜÂý ËùÒÔÄØ¾Í°Ñ¿ª»ú·þÎñ¸ã³ÉÊÖ¶¯µÄÁË
ÕâÑù¿ª»ú¿ìÁ˺ܶà
¿ÉÊÇÎÊÌâÒ²À´ÁË
ÿ´ÎÒªÓÃSqlServerµÄʱºòÒªÒ»¸öÒ»¸ö·þÎñÈ¥¿ªÆðÀ´ ¡£¡£¡£¡£
Âé·³°¡¡£¡£¡£¡£¡£
²»±È2000Óиö ¿ª¹ØµÄ³ÌÐò
ËùÒÔÉÏÍøÕÒÁËϽ̳Ì
×Ô¼ºÐ´¸öÅú´¦Àí ×Ô¶¯Æô¶¯·þÎñ
ÍÛ¹þ¹þ
ͻȻ¾õµÃ Ö»ÒªÓÐÍ ......
FusionCharts µÄ XML±êÇ©ÊôÐÔÓÐÒ»ÏÂËÄÖÖÊý¾ÝÀàÐÍ
* Boolean - ²¼¶ûÀàÐÍ£¬Ö»ÄÜΪ1»òÕß0¡£ÀýÈ磺<graph showNames=’1′ >
* Number - Êý×ÖÀàÐÍ£¬Ö»ÄÜΪÊý×Ö¡£ÀýÈ磺<graph yAxisMaxValue=’200′ >
* String - ×Ö·û´®ÀàÐÍ£¬Ö»ÄÜΪ×Ö·û´®¡£ÀýÈ磺 <graph caption=’My Chart&rsqu ......
»¥ÁªÍø·¢Õ¹µÃºÜ¿ì£¬¶¼ÊÇÔ´×ÔÓÚʹÓÃÁ˳¬Îı¾µÄ±í´ï·½Ê½¡£±ÈÈçÄã²é¿´Ò»ÆªÎÄÕ£¬¿´µ½²»¶®µÄ¹Ø¼ü×Ö£¬¾Í¿ÉÒÔͨ¹ýÁ´½ÓÈ¥²é¿´ËüµÄÄÚÈÝ£¬¿´ÍêÖ®ºóÔÙ»ØÀ´½Ó×Å¿´ÔÀ´µÄ¶«Î÷£¬ÕâÑù±È½ÏÊʺÏѧϰµÄ·½Ê½¡£Ê¹ÓÃHTML±ê¼ÇµÄÎı¾£¬Êǽṹ»¯´¢´æµÄ£¬ÕâÑùµÄ±í´ï·½Ê½²Å¿ÉÒÔʵÏÖ³¬¼¶Á¬½Ó¡£ÓÉÓÚHTML¾ßÓг¬Ç¿µÄ±í´ïÄÜÁ¦£¬Ò²¾ÍÔÚ»¥ÁªÍøÉÏÉú´æÏÂÀ´£¬ÄÇ ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡F ......