XMLÎĵµ·Ö¸î³ÉС¿é
XMLÎĵµ·Ö¸î³ÉС¿é
µ±ÄãÒª°ÑXMLÎĵµ·Ö¸î³ÉС¿éʱ£¬ÄãÒª¶ÁÈ¡ÊäÈëÎĵµ£¬´´½¨Êä³öÎĵµºÍת»»×ÓÎĵµ¡£²»¹ÜÊÇÔÚC++»¹ÊÇFOALÖеĽű¾ÖУ¬CMarkup¶¼Ê¹Ëü±äµÃ¼òµ¥¡£¶ÔÓںܴóµÄXMLÎĵµ£¬ÔÚÌáÈ¡×ÓÎĵµÊÇʹÓÃCMarkup¶ÁÈ¡Îļþģʽ¾Í¿ÉÓúÜÉÙµÄÄÚ´æ¶ÁÈ¡Ëü¡£
¹Ø¼üÎÊÌâÊÇ£¬µ±Äã·Ö¸îXMLÎĵµÊ±ÄãÏëÔÚÄǸöµØ·½·Ö¸î£¿¿ÉÒÔÊÇÒ»¸öºÏºõÂß¼µÄ¸ùĿ¼»®·Ö³É×ÓÎĵµ£¬Ò²¿ÉÒÔ¼òµ¥µÄ°´ÕÕÎļþ´óСÀ´»®·Ö£¬¾ÍÏñ°ÑÒ»¸öten million´óСµÄ¶ÔÏó»®·Ö³Éone million´óСµÄ¡£
ÏÂÃæµÄC++´úÂëÊǰÑÒ»¸ö°üº¬N million¸ö¶ÔÏóµÄXMLÎĵµ·Ö¸î³ÉN¸ö°üº¬1 million¸ö¶ÔÏóµÄÎļþ¡£
ÕâÊdzÌÐòµÄ˼Ï룺
· ÉùÃ÷Á½¸öCmarkupÀàµÄ¶ÔÏó£¬Ò»¸öÊÇÒª±»·Ö¸îµÄÊäÈëÎĵµ£¬Ò»¸öÊÇÊä³öÎĵµ
· ÔÚÑ»·¶ÁÈ¡ËùÓжÔÏóʱÏÈ´ò¿ªÄǸö¾Þ´óµÄÊäÈëÎĵµ
· ʹÓÃÊä³öÎĵµÊýÐÎʽµÄÎļþÃû´ò¿ªÒ»¸öÊä³öÎĵµ
· °ÑÊäÈëÎĵµµÄ¶ÔÏó×ÓÎĵµ×ª»¯³ÉÊä³öÎĵµ£¬Ö±µ½¶ÔÏó¼ÆÊý´ïµ½×î´óÖµ
· ¹Ø±ÕÊä³öÎĵµ£¬ÖØÖöÔÏó¼ÆÊýÆ÷£¬Êä³öÎĵµ¼ÆÊýÆ÷++
· Èç¹û»¹Ã»ÓдﵽÊäÈëÎĵµµÄ½á⣬ÏñÉÏÃæµÃ·½·¨ÄÇÑù´ò¿ªÒ»¸öеÄÊä³öÎĵµ
· ´ïµ½ÁËÊäÈëÎĵµµÄ½áβ£¬Ìø³öÑ»·£¬¹Ø±ÕÊä³öÎĵµ£¬¹Ø±ÕÊäÈëÎĵµ
// Split XML
CMarkup xmlInput, xmlOutput;
xmlInput.Open( "please_split.xml", MDF_READFILE );
int nObjectCount = 0, nFileCount = 0;
while ( xmlInput.FindElem("//object") )
{
if ( nObjectCount == 0 )
{
++nFileCount;
xmlOutput.Open( "piece" + StrfromInt(nFileCount) + ".xml", MDF_WRITEFILE );
xmlOutput.AddElem( "root" );
xmlOutput.IntoElem();
}
xmlOutput.AddSubDoc( xmlInput.GetSubDoc() );
++nObjectCount;
if ( nObjectCount == 1000000 )
{
xmlOutput.Close();
nObjectCount = 0;
}
}
if ( nObjectCount )
xmlOutput.Close();
xmlInput.Close();
ÄãÒ²¿ÉÒÔʹÓôóС¶ø²»ÊǶÔÏóµÄ¼ÆÊýÀ´×÷Ϊ·Ö¸îXMLÎĵµµÄ±êÖ¾¡£Òª×öµ½ÕâÒ»µã£¬±£³ÖÒ»¸öÎĵµ´óСÏà·ûµÄÎĵµ£¨Êä³öÎĵµ£©£¬Ö±µ½´ïµ½ãÐÖµ¡£ÉÏÃæ³ÌÐòµÄ×ÓÎĵµ×ª»»·¢ÉúÔÚÕâÒ»¾äxmlOutput.AddSubDoc( xmlInput.GetSubDoc() ).
Äã¿ÉÒÔÓÃÁ½²½Ìæ´ú£¬²¢¸ú×Ù´óС£º
MCD_STR sObject = xmlInput.GetSubDo
Ïà¹ØÎĵµ£º
XML DOM
¡¡¡¡XML DOM ¶¨ÒåÁË·ÃÎʺʹ¦Àí XML ÎĵµµÄ±ê×¼·½·¨¡£
¡¡¡¡XML DOM ÊÇ XML Document Object Model µÄËõд£¬¼´ XML Îĵµ¶ÔÏóÄ£ÐÍ¡£
¡¡¡¡Ò»¡¢DOM ¼ò½é
¡¡¡¡Ê²Ã´ÊÇ DOM£¿
¡¡¡¡DOM ÊÇ W3C£¨ÍòÎ¬ÍøÁªÃË£© µÄÍÆ¼ö±ê×¼¡£
¡¡¡¡DOM ¶¨ÒåÁË·ÃÎÊÖîÈç XML ºÍ XHTML ÎĵµµÄ±ê×¼¡£
¡¡¡¡“W3C Îĵµ¶ÔÏóÄ£ÐÍ£¨DOM£©ÊÇÒ»¸ ......
JavaScript½âÎö¶ÁÈ¡XMLÎļþ£¬Ö÷Òª¾ÍÊǼÓÔØ²¢½âÎöXMLÎļþ£¬È»ºó¾Í¿ÉÒÔ²âÊÔ½âÎöµÄXMLÎļþµÄÄÚÈÝ£¬´òÓ¡Êä³öÀ´¡£
±àдÁËÒ»¸öJavaScriptµÄÀàÀ´ÊµÏÖ¶Áȡһ¸öXMLÎļþÖеÄÊý¾Ý£¬ÊµÏÖ´úÂëÈçÏÂËùʾ£º
<mce:script type="text/javascript"><!--
/**
* @author Shirdrn
*/
function XMLDoc(){}; // ¶¨ÒåÒ»¸öXM ......
JSON¶¨Òå
JSON(JavaScript Object Notation) ÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ£¬Ò×ÓÚÔĶÁºÍ±àд£¬Í¬Ê±Ò²Ò×ÓÚ»úÆ÷½âÎöºÍÉú³É¡£Ëü»ùÓÚECMA262ÓïÑԹ淶£¨1999-12µÚÈý°æ£©ÖÐJavaScript±à³ÌÓïÑÔµÄÒ»¸ö×Ó¼¯¡£ JSON²ÉÓÃÓë±à³ÌÓïÑÔÎ޹صÄÎı¾¸ñʽ£¬µ«ÊÇҲʹÓÃÁËÀàCÓïÑÔ£¨°üÀ¨C£¬ C++£¬ C#£¬ Java£¬ JavaScript£¬ Per ......
ref : http://blog.csdn.net/High_Mount/archive/2008/09/19/2953335.aspx
תÒå×Ö·û
²»ºÏ·¨µÄXML×Ö·û±ØÐë±»Ìæ»»ÎªÏàÓ¦µÄʵÌå¡£
Èç¹ûÔÚXMLÎĵµÖÐʹÓÃÀàËÆ"<" µÄ×Ö·û, ÄÇô½âÎöÆ÷½«»á³öÏÖ´íÎó£¬ÒòΪ½âÎöÆ÷»áÈÏΪÕâÊÇÒ»¸öÐÂÔªËØµÄ¿ªÊ¼¡£ËùÒÔ²»Ó¦¸ÃÏóÏÂÃæÄÇÑùÊéд´úÂë:
<message>if salary < 1000 then</me ......
USE Test
--Create 2 tables as an example
CREATE TABLE ExampleTable
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
CREATE TABLE ExampleTable2
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
----way1
SELECT *
from sys.objects [table]
WHERE
[Name] LIKE 'ExampleTable%'
FOR XML AUTO, ROOT ......