Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

GridView ²Ù×÷XMLÎļþ

<?xml version="1.0" standalone="yes"?>
<imgs>
<pic name="/adv_pic/1.jpg" url="http://www.baidu.com/" title="test" />
<pic name="/adv_pic/2.jpg" url="http://www.baidu.com/" title="test" />
......

ÊÖ´òÔ­xml±Ê¼ÇÊÖ³­±¾

1. <?xml version="1.0" encoding="GB2312" standalone="yes" ?>
       1.1 ÕâÊÇxmlµÄÎĵµÉùÃ÷£¬Ò»°ãλÓÚxmlÎļþµÄÊ×ÐС£
       1.2 Êéд¹æ·¶£º<?xmlΪһÌå Ö®¼ä²»ÄÜÓпոñ¡£
       1.3 encodingÊôÐÔ£¬Èç¹ ......

D Busѧϰ£¨°Ë£©£ºÀûÓÃXML¶¨ÒåD BusÖ®ServerµÄÀý×Ó


¡¡¡¡ÔÚ´ËÏȸÐлhttp://blog.chinaunix.net/u3/111961/showart_2187819.html
¡£ÕâÊÇÆª¼«ºÃµÄÎÄÕ¡£
¡¡¡¡ÔÚÉÏ´ÎѧϰÖУ¬ÎÒÃÇдÁËclientСÀý×Ó£¬·Ç³£¼òµ¥£¬¶øÇÒͨ¹ýdbus-binding-toolÉú³ÉµÄÍ·Îļþ£¬·Ç³£¹æ·¶¡£Ïà±ÈÖ´ÐУ¬serverÉÔ΢¸´ÔÓЩ£¬ÈÔȻʹÓÃÉϴεÄxmlÎļþ£¬µ«ÊÇÈ¥µôannotation£¬¸üΪ±¾Ô­Ò»Ð©¡£Îļþwei.xmlÈçÏ£º
& ......

¶ÁxmlÎļþ


ÍøÉÏÌṩµÄһЩ·½·¨±È½Ï¼òµ¥£¬ÎÞ·¨ÊÊÓ¦XMLÎļþµÄ¶¯Ì¬±ä»¯ £¬Ã»°ì·¨Ö»ÄÜ×Ô¼º²éÎĵµÐ´£¬×ÜËãûÀË·Ñʱ¼ä£¬ÓõÄʱºò±ðÍüÁ˼Ó#import
"msxml4.dll"Õâ¸ö¶¯Ì¬Á´½Ó¿âÍøÉϺܺÃÕÒ£¬×Ô¼ºÕÒһϣ¬Ï£ÍûÄܰïÖúÐèÒªµÄÅóÓÑ£¬À§ÁË
::CoInitialize(NULL);
//³õʼ»¯COM
 MSXML2::IXMLDOMDocumentPtr pDoc;
  ......

XML¶ÁдÀ࣬CMarkup

//******************** Í·Îļþ  Markup.h  *******************
// Markup.h: interface for the CMarkup class.
//
// Markup Release 11.2
// Copyright (C) 2009 First Objective Software, Inc. All rights reserved
// Go to www.firstobject.com for the latest CMarkup and EDOM documentation
// ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ