¹ØÓÚ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
ÊôÐÔµÄÖµ£¬²¢ÇÒ×
Ïà¹ØÎĵµ£º
ÏÖÔںܶàÈí¼þ¶¼ÊÇÒÔxmlÎļþ×÷ΪÊý¾ÝÔ´£¬¶øºÜ¶àÊý¾Ý¹¤¾ßÈçpbµÈÈ´Ö»ÄÜÁí´æΪtxt¡¢excelµÈ¸ñʽ£¬Îª´ËÐèÒªÒ»¹¤¾ßÄܽ«txtÎı¾×ª»»³ÉxmlÎļþ¡£googleÁËһϣ¬Ã»ÕÒµ½ºÏÊʵģ¬³å¶¯Ö®ÏÂÓÃC#дÁËÒ»¸ötxtÎı¾×ªxml¸ñʽÎı¾µÄС³ÌÐò£¬´úÂëÈçÏ¡£
н¨Ò»¸öw ......
Eclipse IBM¿ª·¢³öµÄ¹¤¾ß
step over Ìøµ½µ±Ç°³ÌÐòµÄÏÂÒ»ÐÐ(Ìø¹ý)
step into Ìø½øÈ¥ (ÌøÈë)
step return Ìø³öÀ´ (Ìø³ö)
XML
<a classname="cn.itcast.Person"></a>
<?xml version="1.0"?> ¿Õ¸ñ±ØÐëΪӢÎÄ
×Ö·û±àÂë
<?xml version="1.0" encoding="UTF-8"?>
CDATA -->Character data &nb ......
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
xmlѧϰ£ºhttp://www.w3school.com.cn/x.asp ......
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 ......
.dtdÎļþÖÐÈç¹ûÓÐÖÐÎÄ,±ØÐëÁí´æΪUTF-8±àÂë
ÎÊÌâ:
TransformerFactoryΪ³éÏóÀà,²»ÄÜnewʵÀý,µ«ÌṩÁË·½·¨À´»ñµÃ
TransformerFactory factory = TransformerFacory.newInstance();
factory.newDocumentBuilder();
ÕâÀïnewDocumentBuilder()Ϊ³éÏó·½·¨,ΪʲôÄܵ÷ÓÃÄØ?
×¢Òâ:ÕâÀïfactory±äÁ¿Ö¸ÏòµÄÊÇÒ»¸öʵÀý,´ËʵÀýÊ ......