´¦ÀíXMLµÄз½Ê½——LINQ to XML
ºÎνLINQ? LINQ¼´.NET ÓïÑÔ¼¯³É²éѯ(.NET Language-Integrated Query (LINQ) Framework),Ϊ.NET¼Ü¹¹ÖеÄÖØÒª×é³É²¿·Ö¡£LINQϵÁм¼ÊõÌṩÁËÕë¶Ô¶ÔÏó(LINQ)¡¢¹ØÏµÊý¾Ý¿â(LINQ to SQL)ºÍXML(LINQ to XML)µÄÒ»ÖÂÐÔ²éѯÌåÑé¡£ ʲôÊÇLINQ to XML? LINQ to XML ʹÓÃ×îеÄ.NET FrameworkÓïÑÔ¹¦ÄÜ£¬Ï൱ÓÚ¸üкÍÖØÐÂÉè¼ÆµÄÎĵµ¶ÔÏóÄ£ÐÍ(DOM)XML±à³Ì½Ó¿Ú¡£Ê¹ÓÃËü£¬¿ÉÒÔÔÚ.NET Framework±à³ÌÓïÑÔÖд¦ÀíXML¡£ Ëü½«XMLÎĵµÖÃÓÚÄÚ´æÖУ¬ÕâÒ»µãºÜÏñÎĵµ¶ÔÏóÄ£ÐÍ(DOM)¡£Äã¿ÉÒÔ²éѯºÍÐÞ¸ÄXMLÎĵµ£¬Ð޸ĺ󣬿ÉÒÔ½«ÆäÁí´æÎªÎļþ£¬Ò²¿ÉÒÔ½«ÆäÐòÁл¯È»ºóͨ¹ýÍøÂç·¢ËÍ¡£µ«ÊÇ£¬LINQ to XMLÓëDOM²»Í¬£ºËüÌṩһÖÖеĶÔÏóÄ£ÐÍ£¬ÕâºÃËÆÒ»ÖÖ¸üÇáÁ¿µÄÄ£ÐÍ£¬Ê¹ÓÃÒ²¸ü·½±ã£¬ÕâÖÖÄ£ÐÍÀûÓÃÁËVisual C# 2008ÔÚÓïÑÔ·½ÃæµÄ¸Ä½ø¡£ LINQ to XML ×îÖØÒªµÄÓÅÊÆÊÇËüÓëLINQµÄ¼¯³É¡£ÓÉÓÚʵÏÖÁËÕâÒ»¼¯³É£¬ËùÒÔ£¬¿ÉÒÔ¶ÔÄÚ´æXMLÎĵµ±àд²éѯ£¬ÒÔ¼ìË÷ÔªËØµÄÊôÐԺͼ¯ºÏ¡£LINQ to XMLµÄ²éѯ¹¦ÄÜÓëXPathºÍXQuery(Á½ÖÖÀÏʽµÄXML±ê×¼¼ìË÷»úÖÆ)¾ßÓпɱÈÐÔ¡£Visual C# 2008¼¯³ÉLINQºó£¬¿ÉÌṩ¸üÇ¿µÄÀàÐÍ»¯¹¦ÄÜ¡¢±àÒëʱ¼ì²éºÍ¸Ä½øµÄµ÷ÊÔÆ÷Ö§³Ö¡£
ÈçºÎʹÓÃLINQ²éѯ? ËùÓеÄLINQ²éѯ²Ù×÷¶¼¿ÉÒÔÓÉÈý¸ö²»Í¬µÄ²Ù×÷×é³É£º 1¡¢»ñÈ¡Êý¾ÝÔ´¡£ 2¡¢´´½¨²éѯ¡£ 3¡¢Ö´Ðвéѯ¡£ Êý¾ÝÔ´¿ÉÒÔΪÈÎÒâ¿É²éѯÀàÐÍ£¬¼´Ö§³ÖIEnumerable»òIEnumerable½Ó¿Ú¼°ÆäÅÉÉú½Ó¿ÚµÄÀàÐÍ¡£ int[] numbers = new int[7]{0,1,2,3,4,5,6}; var numQuery = from num in numbers where (num % 2) == 0 select num; foreach(int num in numQuery) { console.Write("{0,1} ",num); } ÉÏÀýʵÏÖ´ÓÒ»¸öintÊý×éÖмìË÷³öËùÓÐżÊý¡£ÆäÖÐÊý¾ÝԴΪnumbersÊý×é¡£ ¸Ã²éѯ±í´ïʽ°üº¬Èý¸ö×Ó¾ä(Èç¹û¶ÔSQLÊìϤ£¬Ôò²»»áİÉú£¬µ«ÊÇÓï¾ä˳ÐòÊDz»Ò»ÑùµÄ)£ºfrom¡¢whereºÍselect¡£from ×Ó¾äÖ¸¶¨Êý¾ÝÔ´£¬where ×Ó¾äÓ¦ÓÃɸѡÆ÷£¬select ×Ó¾äÖ¸¶¨·µ»ØµÄÔªËØÀàÐÍ¡£ ×¢Ò⣬var numQuery =...Óï¾äÖ»Êǹ¹½¨Ò»¸ö²éѯ±í´ïʽ£¬Ö´ÐÐʱ²¢²»»áÁ¢¼´¼ìË÷Êý¾Ý£¬µ±Ö´Ðе½ÏÂÃæµÄforeachÓï¾äʱ£¬²Å»á¼ìË÷Êý¾Ý¡£ µ±È»£¬²¢²»ÊDZØÐëʹÓÃforeach²ÅÄܼìË÷³ö½á¹û£¬Õâ¸öÊǿɿصģº ¶ÔÓھۺϺ¯ÊýÈçCount¡¢Max¡¢Average¡¢FirstµÈ£¬ÕâЩ²éѯ½ö½ö·µ»Øµ¥¸öÖµ¶ø·Ç¼¯ºÏ£¬´Ëʱ¾Í²»ÓÃʹÓÃforeachÀ
Ïà¹ØÎĵµ£º
--XQuery »ùÓÚÏÖÓÐµÄ XPath ²éѯÓïÑÔ£¬²¢Ö§³Ö¸üºÃµÄµü´ú¡¢¸üºÃµÄÅÅÐò½á¹ûÒÔ¼°¹¹Ôì±ØÐèµÄ XML µÄ¹¦ÄÜ¡£
--1.ÉùÃ÷Ò»¸ö xml ÀàÐ͵ıäÁ¿£¬È»ºóʹÓà xml Êý¾ÝÀàÐ굀 query() ·½·¨À´²éѯ´Ë±äÁ¿
DECLARE @x xml
SET @x = '<ROOT><a>111</a></ROOT>'
SELECT @x.query('/ROOT/a')
--²éÕÒÊôÐÔaid=20µÄa½ ......
//ÅжϸÃxmlÎĵµÊÇ·ñ´æÔÚ£¬²»´æÔÚÔò´´½¨
if (!File.Exists(Constants.SYS_CONFIGURE_URL + @"\SaveAccount.xml"))
&nbs ......
XML ÃüÃû¿Õ¼äÌṩÁËÒ»ÖÖ±ÜÃâÔªËØÃüÃû³åÍ»µÄ·½·¨¡£
--------------------------------------------------------------------------------
ÃüÃû³åÍ»
ÒòΪXMLÎĵµÖÐʹÓõÄÔªËØ²»Êǹ̶¨µÄ£¬ÄÇôÁ½¸ö²»Í¬µÄXMLÎĵµÊ¹ÓÃͬһ¸öÃû×ÖÀ´ÃèÊö²»Í¬ÀàÐ͵ÄÔªËØµÄÇé¿ö¾Í¿ÉÄÜ·¢Éú¡£¶øÕâÖÖÇé¿öÓÖÍùÍù»áµ¼ÖÂÃüÃû³åÍ»¡£Çë¿´ÏÂÃæÁ½¸öÀý×Ó
......
ǶÈëʽGUI FTK½éÉÜ(3)-XML½çÃæÃèÊöÓïÑÔ
×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½
ÎÄÕ³ö´¦£ºhttp://www.limodev.cn/blog
×÷ÕßÁªÏµ·½Ê½£ºÀîÏȾ² <xianjimli at hotmail dot com>
ÓÃXMLÀ´ÃèÊö½çÃæ£¬C/C++дÄÚ²¿Âß¼£¬Óýű¾ÓïÑÔÀ´½ººÏ½çÃæºÍÄÚ²¿Âß¼¡£FTKÕýÊÇ»ùÓÚÕâÖÖ˼ÏëÀ´Éè¼ÆµÄ£¬ËùÒÔËü×ÔÈ»»áÌṩ XML½çÃæÃèÊö¹¦ÄÜ£¬ÔÚ ......
ʹÓà PHP ´¦Àí XML ÅäÖÃÎļþ
ʹÓà XML ÅäÖÃÎļþÇáÒ×µØÅäÖà PHP Ó¦ÓóÌÐòºÍ¶ÔÏó
¼¶±ð£º Öм¶
Vikram Vaswani, ´´Ê¼ÈË, Melonfire
2007 Äê 11 ÔÂ 29 ÈÕ
XML ΪӦÓóÌÐòÅäÖÃÎļþÌṩÁËÒ»ÖÖ±ã½Ý¡¢Ò×Óõıí´ïÓïÑÔ¡£µ«ÓÐʱºò½«ÕâЩÐÅÏ¢ÌáÈ¡µ½ PHP ½Å±¾Öн«»áÃæ¶ÔÒ»¸ö²»Ð¡µÄÌôÕ½¡£ÕâÕýÊÇ XJConf for PHP °ü³öÏÖµÄÔÒò£ºËüÌá ......