¶ÔÓÚ´øÓбí¿Õ¼äxmlnsµÄxmlÎļþµÄ½âÎö£¬ÓÃÕý³£½âÎöÎļþµÄ·½·¨×ÜÊÇʧЧ£¬²»Æð×÷Óã¬ÎÞ·¨»ñµÃÔªËØ¡£
ÏÂÃæ¸ø³öÁ½ÖÖ·½·¨½âÎö´ËÀàÎļþ£º
1.°´Õý³£½âÎöxmlÎļþµÄ·½·¨£¬ÐèҪעÒ⼸µã£º
»ñÈ¡ÔªËØElement£¬²»¿ÉʹÓú¯Êý£ºdocument.selectNodes("//region");
Ö»¿ÉÒÔÏÈÈ¡µ½¸ùÔªËØ£¬Ò»¼¶Ò»¼¶ÍùÏÂÈ¡£¬eg£º
Element root = document.getRootElement();
Element ele = root.element("head");
»ñÈ¡ÊôÐÔÖµ£¬¿ÉÒÔ°´Ò»°ãµÄ·½·¨²Ù×÷£¬eg£º
List ll = document.selectNodes("//@regionName");
System.out.println("ll.size=" + ll.size());
2.ʹÓÃXPath¡£eg:
public void testHasNameSpace(File file) {
SAXReader saxReader = new SAXReader();
Document document = null;
// XmlDocument document=
try {
document = saxReader.read(file);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HashMap xmlMap = new HashMap();
xmlMap.put("smil", "http://www.w3.org/2000/SMIL20/CR/Language");
XPath x = document.createXPath("//smil:region");
x.setNamespaceURIs(xmlMap);
......
FusionCharts µÄ XML±êÇ©ÊôÐÔÓÐÒ»ÏÂËÄÖÖÊý¾ÝÀàÐÍ
* Boolean - ²¼¶ûÀàÐÍ£¬Ö»ÄÜΪ1»òÕß0¡£ÀýÈ磺<graph showNames=’1′ >
* Number - Êý×ÖÀàÐÍ£¬Ö»ÄÜΪÊý×Ö¡£ÀýÈ磺<graph yAxisMaxValue=’200′ >
* String - ×Ö·û´®ÀàÐÍ£¬Ö»ÄÜΪ×Ö·û´®¡£ÀýÈ磺 <graph caption=’My Chart’ >
* Hex Color Code - Ê®Áù½øÖÆÑÕÉ«´úÂ룬ǰ±ßûÓÐ’#’.ÀýÈ磺 <graph bgColor=’FFFFDD’ >
XMLÖеıêÇ©ºÍÊôÐÔÓУº
<graph> Ëù¾ßÓеÄÊôÐÔ
flash±³¾°²ÎÊý£º
* bgColor=”HexColorCode” : ÉèÖÃflashµÄ±³¾°ÑÕÉ«
* bgAlpha=”NumericalValue(0-100)” : ÉèÖñ³¾°µÄ͸Ã÷¶È
* bgSWF=”Path of SWF File” : ÉèÖÃÒ»¸öÍⲿµÄFlash ΪflashµÄ±³¾°
ͼ±í±³¾°²ÎÊý£º
* canvasBgColor=”HexColorCode” : ÉèÖÃͼ±í±³¾°µÄÑÕÉ«
* canvasBaseColor=”HexColorCode” : ÉèÖÃͼ±í»ù²¿µÄÑÕÉ«
* canvasBaseDepth=”Numerical Value” : ÉèÖÃͼ±í»ù²¿µÄ¸ß¶È
* canvasBgDepth=”Numerical Value” : ÉèÖÃͼ±í±³¾°µÄÉî¶È
* show ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡For¡¡Xml°É£¬ÎÒÃÇ´ó¶àʱºò¶¼»áÓÐÕâÖÖÇé¿ö£¬Ïë°Ñ±íÀïµÄÊý¾Ýת»¯³ÉXml¸ñʽµÄ£¬Í¨³£ÎÒÃÇ»áʹÓÃc#»òÊÇVb³ÌÐòÀ´×ª¹«£¬Ê¹ÓÃXpath»òÊÇXmlDocumentµÈ¶ÔÏóÀ´Íê³É£¬µ±È»ÕâÑùÊÇ¿ÉÒԵģ¬²»¹ýÕâÑù´¦ÀíÆðÀ´¾Í»á³öÏֺܶàÎÊÌ⣬±ÈÈç˵Êý¾Ý¿â±ä»¯£¬Èç¹ûÖ»ÓÐÊý¾Ý±ä»¯ÄÇ·½±ã£¬Ð´Ò»¸öͨÓõÄÀ࣬ÿ´Î²éѯǰ¸üÐÂXmlÎļþ¾Í¿ÉÒÔÁË£¬µ«Èç¹û³öÏÖÊý¾Ý¿â½á¹¹µÄ±ä»¯¾Í»áºÜ³ÔÁ¦ÁË£¬ÄÇôÓÐûÓÐÒ»ÖÖ·½·¨£¬°ÑÊý¾ÝÔÚµ÷³öÊý¾Ý¿â֮ǰ¾Íת»¯ÎªXmlµÄÄØ£¬Õâ¸öÊǵ±È»µÄ£¬¾ÍÊÇÎÒÃǵÄFor¡¡Xml£¬´ó¼ÒÔÚ²éѯ·ÖÎöÆ÷Àï×ö±í½á¹û²éѯµÄʱºòÒ»°ãÊÇÕâÑùдµÄ
ÎÒÃǸø´ó¼ÒչʾһÏÂÎÒËùÓõ½µÄÁ½¸ö±í°É
µÚÒ»¸ö±í°à¼¶ÐÅÏ¢±íClassInfo£¨°à¼¶ÐÅÏ¢±íÒ»¹²Èý¸ö×Ö¶ÎCID ±¾±íID,Cnumber °à¼¶ÈËÊý,CName °à¼¶Ãû³Æ£©
µÚ¶þ¸ö±í ÉúÐÅÏ¢±í Students £¨CID °à¼ ......
ºÜ¶àÈ˶ÔXpath¿ÉÄܱȽÏÊìϤ£¬µ«²»ÖªµÀÓÐûÓÐÖ±½Ó²Ù×÷¹ýÊý¾Ý¿â£¬ÎÒÃǶ¼ÖªµÀ ÔÚSql2005À﹫֧³ÖµÄ¼¸ÖÖ²éѯÓÐRaw£¬Auto£¬PathģʽµÈ£¬Èç¹ûÔÚ2000ÀïʹÓùý PathģʽµÄÅóÓÑÓ¦¸ÃÖªµÀ£¬ÊDz»ÈÝÒ×´¦Àí²éѯ½á¹ûµÄ£¬ÄÇôÔÚ2005Àï¶ÔÕâÒ»¿é×öÁ˺ܺõÄÌáÉý
ÎÒÏÈÀ´½éÉÜÒ»ÏÂʲôÊÇSql¡¡For¡¡Xml°É£¬ÎÒÃÇ´ó¶àʱºò¶¼»áÓÐÕâÖÖÇé¿ö£¬Ïë°Ñ±íÀïµÄÊý¾Ýת»¯³ÉXml¸ñʽµÄ£¬Í¨³£ÎÒÃÇ»áʹÓÃc#»òÊÇVb³ÌÐòÀ´×ª¹«£¬Ê¹ÓÃXpath»òÊÇXmlDocumentµÈ¶ÔÏóÀ´Íê³É£¬µ±È»ÕâÑùÊÇ¿ÉÒԵģ¬²»¹ýÕâÑù´¦ÀíÆðÀ´¾Í»á³öÏֺܶàÎÊÌ⣬±ÈÈç˵Êý¾Ý¿â±ä»¯£¬Èç¹ûÖ»ÓÐÊý¾Ý±ä»¯ÄÇ·½±ã£¬Ð´Ò»¸öͨÓõÄÀ࣬ÿ´Î²éѯǰ¸üÐÂXmlÎļþ¾Í¿ÉÒÔÁË£¬µ«Èç¹û³öÏÖÊý¾Ý¿â½á¹¹µÄ±ä»¯¾Í»áºÜ³ÔÁ¦ÁË£¬ÄÇôÓÐûÓÐÒ»ÖÖ·½·¨£¬°ÑÊý¾ÝÔÚµ÷³öÊý¾Ý¿â֮ǰ¾Íת»¯ÎªXmlµÄÄØ£¬Õâ¸öÊǵ±È»µÄ£¬¾ÍÊÇÎÒÃǵÄFor¡¡Xml£¬´ó¼ÒÔÚ²éѯ·ÖÎöÆ÷Àï×ö±í½á¹û²éѯµÄʱºòÒ»°ãÊÇÕâÑùдµÄ
ÎÒÃǸø´ó¼ÒչʾһÏÂÎÒËùÓõ½µÄÁ½¸ö±í°É
µÚÒ»¸ö±í°à¼¶ÐÅÏ¢±íClassInfo£¨°à¼¶ÐÅÏ¢±íÒ»¹²Èý¸ö×Ö¶ÎCID ±¾±íID,Cnumber °à¼¶ÈËÊý,CName °à¼¶Ãû³Æ£©
µÚ¶þ¸ö±í ÉúÐÅÏ¢±í Students £¨CID °à¼ ......
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡ÔÚ¾ÙÀý˵Ã÷ÈçºÎ·Ö½âÉÏһƪÎÄÕÂÖеÄÊý¾Ýʱ£¬ÎÒÃÇÊ×ÏÈÁ˽âÒ»ÏÂXQueryºÍËüÔÚSQL Server 2005ÖÐΪ¿ª·¢ÕßÌṩµÄ¹¦ÄÜ¡£
¡¡¡¡XQuery½éÉÜ
¡¡¡¡XQuery£¬Ò²³Æ×÷XML Query£¬ÊÇÒ»ÖÖ²éѯXMLÊý¾ÝµÄÓïÑÔ£¬ÔÊÐíÄãÌáÈ¡ËùÐèµÄ½ÚµãºÍÔªËØ¡£ËüÓÉW3C¶¨Ò壬¿ÉÓÃÓÚ½ñÌìµÄ´ó¶àÊýÖ÷Á÷Êý¾Ý¿âÒýÇæÖУ¬ÈçOracle¡¢DB2ºÍSQL Server¡£
¡¡¡¡SQL Server 2005 XQueryº¯Êý
¡¡¡¡ÏÂÃæµÄËĸöº¯ÊýÊÇSQL Server 2005ÖеÄXQueryº¯Êý¡£(×¢Ò⣬XML¡¢XQueryÓï¾äºÍÏÂÃæµÄº¯Êý¶¼Çø·Ö´óСд¡£ÀýÈ磬SQL±àÒëÆ÷½ÓÊÜXMLÊý¾ÝÖеÄ.exist£¬µ«¾Ü¾ø.EXIST»ò.Exist¡£)
¡¡¡¡xml.exist
¡¡¡¡Õâ¸ö·½·¨¸ù¾ÝÒ»¸öXML½ÚµãÉϵÄËÑË÷±í´ïʽ·µ»ØÒ»¸ö²¼¶ûÖµ¡£ÀýÈ磬ÁбíAÖÐXML´úÂëƬ¶ÎÖеÄÓï¾ä½«·µ»Ø1(Õæ)£º
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡Õâ¸öÓï¾ä·µ»Ø0(¼Ù)£º
¡¡¡¡SELECT @x. exist ('/christmaslist/zach')
¡¡¡¡ÓÉÓÚ“Socks”Ò»´Ê±»·âÌ×£¬Õâ¸öÓï¾ä½ ......
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹Øϵ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡ÔÚ¾ÙÀý˵Ã÷ÈçºÎ·Ö½âÉÏһƪÎÄÕÂÖеÄÊý¾Ýʱ£¬ÎÒÃÇÊ×ÏÈÁ˽âÒ»ÏÂXQueryºÍËüÔÚSQL Server 2005ÖÐΪ¿ª·¢ÕßÌṩµÄ¹¦ÄÜ¡£
¡¡¡¡XQuery½éÉÜ
¡¡¡¡XQuery£¬Ò²³Æ×÷XML Query£¬ÊÇÒ»ÖÖ²éѯXMLÊý¾ÝµÄÓïÑÔ£¬ÔÊÐíÄãÌáÈ¡ËùÐèµÄ½ÚµãºÍÔªËØ¡£ËüÓÉW3C¶¨Ò壬¿ÉÓÃÓÚ½ñÌìµÄ´ó¶àÊýÖ÷Á÷Êý¾Ý¿âÒýÇæÖУ¬ÈçOracle¡¢DB2ºÍSQL Server¡£
¡¡¡¡SQL Server 2005 XQueryº¯Êý
¡¡¡¡ÏÂÃæµÄËĸöº¯ÊýÊÇSQL Server 2005ÖеÄXQueryº¯Êý¡£(×¢Ò⣬XML¡¢XQueryÓï¾äºÍÏÂÃæµÄº¯Êý¶¼Çø·Ö´óСд¡£ÀýÈ磬SQL±àÒëÆ÷½ÓÊÜXMLÊý¾ÝÖеÄ.exist£¬µ«¾Ü¾ø.EXIST»ò.Exist¡£)
¡¡¡¡xml.exist
¡¡¡¡Õâ¸ö·½·¨¸ù¾ÝÒ»¸öXML½ÚµãÉϵÄËÑË÷±í´ïʽ·µ»ØÒ»¸ö²¼¶ûÖµ¡£ÀýÈ磬ÁбíAÖÐXML´úÂëƬ¶ÎÖеÄÓï¾ä½«·µ»Ø1(Õæ)£º
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡Õâ¸öÓï¾ä·µ»Ø0(¼Ù)£º
¡¡¡¡SELECT @x. exist ('/christmaslist/zach')
¡¡¡¡ÓÉÓÚ“Socks”Ò»´Ê±»·âÌ×£¬Õâ¸öÓï¾ä½ ......
ÔÚ 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 ......
ÔÚ 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 ......
Ç°¶Îʱ¼äÓÃjQuery×öÁ˸öСÁ·Ï°£¬»ñÈ¡±¾µØµÄxmlÊý¾Ý£¬ÔÚfirefoxÏÂÃæ²âÊÔûÎÊÌ⣬µ«ÊÇÔÚIEÏÂÃæ×ÜÊÇ»ñÈ¡Êý¾Ýʧ°Ü£¬ÉÏÍøÕÒÁ˺ܾÃҲûÕÒµ½ÊÇÔõô»ØÊ¡£ÓôÃÆÁ˺ܳ¤Ò»¶Îʱ¼ä£¬½ñÌìÓпÕÓÖ°ÑÕâ¸öÎÊÌâÄóöÀ´Ñо¿ÁËÏ£¬×îºóÖÕÓÚÕÒµ½ÔÒòÁË£¬°ÑÒ³Ãæ·Åµ½·þÎñÆ÷È¥ä¯ÀÀ¾ÍOKÁË¡£ÄѵÀÊÇȨÏÞÎÊÌ⣿²»ÖªµÀÔõô»ðºüÔÚ±¾µØĿ¼¿ÉÒÔ»ñÈ¡Êý¾Ý³É¹¦¡£¶ÔÓÚ²Ù×÷xmlÎĵµÒª·Åµ½·þÎñÆ÷È¥£¬Òª²»È»»áûÓÐȨÏÞ¡£
//html
<h1>¼ÓÔØxmlÊý¾Ý</h1>
<input type="button" value="¼ÓÔØxmlÊý¾Ý" id="loadXml"/>
<div class="xmldata">ÕâÀïÏÔʾXMLÊý¾Ý</div>
//js
$(function(){
$("#loadXml").click(function(){
$.ajax({
type:'get',
url:'xml.xml',
dataType:"xml",
success:function(data){
$(".xmldata").empty();
$("user",data).each(function(){
var users=$(this);
var html=' ......