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

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 ÎļþÖÐÈ¡µÃÖ¸¶¨ÊôÐÔµÄÏà¹ØÖµ£¿

Á½ÖÖ·½·¨£º
ÆäÒ»£¬Ê¹Óà SelectNodes µÄ·½·¨£»ÒÔÏÂÀý×ÓΪʹÓô˷½·¨µÄ´¦Àí¡£
Æä¶þ£¬Ê¹Óà XQuery µÄ·½·¨¡£
    ''' <summary>
    ''' ´Ó XML ÎļþÖÐÈ¡µÃ¶ÔÓ¦ID µÄÓïÑÔÖµ
    ''' </summary>
    ''' <param name="textID">ÊäÈëµÄID< ......

XML over TCP

Èç¹ûÒªÍêÕûµÄÖ§³ÖXML over TCP£¬Ö»ÓÐÁ½ÖÖ°ì·¨£º
1£¬¼ÓÒ»¸öheaderÈ¥±êÃ÷Êý¾ÝµÄ³¤¶È
2£¬¼ÓÒ»¸ödelimiterÈ¥±êÃ÷Êý¾ÝµÄ½áÊø
ÕâÁ½ÖÖ·½·¨¶¼²»¹»ÓÅÑÅ¡£ÎÒÃDz»ÐèÒªÒ»¸öͨÓõķ½·¨£¬ÎÒÃÇÖ»ÒªÒ»¸ö×îÊʺÏÎÒÃǵķ½·¨¡£
ͨ³££¬ÎÒÃÇÄܹ»×Ô¶¨ÒåÊý¾ÝµÄ¸ñʽ£¬¶øÇÒÎÒÃÇͨ³£Ò»ÌõÏûÏ¢Ö»ÓÐÒ»¸öroot node£¬ÄÇôÎÒÃÇ¿ÉÒÔÊÔÊÔÏÂÃæµÄº¯Êý£º
//re ......

xmlÔö£¬É¾£¬¸Ä£¬²é

XMLÊÇÒ»ÏîÈÈÃŵļ¼Êõ¡£ËüÖ®ËùÒÔÄܹ»ÒýÆðÈËÃǵÄÐËȤ£¬Ò»¸öÖ÷ÒªµÄÔ­ÒòÔÚÓÚËüÊ®·ÖµÄ¼òµ¥£¬ÈËÃÇ¿ÉÒÔºÜÈÝÒ×µØÀí½âºÍʹÓÃËü¡£Ã¿Ò»¸ö³ÌÐòÔ±¶¼ÄÜÇáÒ׵ؿ´¶®Ò»¸öXMLÎļþ£¬Àí½âËü°üº¬µÄÄÚÈÝ¡£
.NETÖаüº¬Á˺ܶàÖ§³ÖXMLµÄÀ࣬ÕâЩÀàʹµÃ³ÌÐòԱʹÓÃXML±à³Ì¾ÍÈçͬÀí½âXMLÎļþÒ»Ñù¼òµ¥¡£ÔÚÕâƪÎÄÕÂÖУ¬ÎÒ½«¸ø³öÕâÑùµÄÒ»¸öÀàµÄʹÓÃʾÀý£¬Õ ......

XML תÒå×Ö·û

ref : http://blog.csdn.net/High_Mount/archive/2008/09/19/2953335.aspx
תÒå×Ö·û
²»ºÏ·¨µÄXML×Ö·û±ØÐë±»Ì滻ΪÏàÓ¦µÄʵÌå¡£
Èç¹ûÔÚXMLÎĵµÖÐʹÓÃÀàËÆ"<" µÄ×Ö·û, ÄÇô½âÎöÆ÷½«»á³öÏÖ´íÎó£¬ÒòΪ½âÎöÆ÷»áÈÏΪÕâÊÇÒ»¸öÐÂÔªËصĿªÊ¼¡£ËùÒÔ²»Ó¦¸ÃÏóÏÂÃæÄÇÑùÊéд´úÂë:
<message>if salary < 1000 then</me ......

Dom4jΪXMLÎļþÒª½áµãÌí¼ÓxmlnsÊôÐÔ

ÎÊÌâ:
¸ù¾Ýgoogle¹æ¶¨£¬ÔÚ¸ø×Ô¶¯¸øÍøÕ¾Éú³Ésitemap.xmlµÄʱºò£¬ ¸ø¸ù½áµã¼ÓÈçÏÂÊôÐÔʱ£¬Óöµ½ÁËÂé·³
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
Óúܶ෽·¨£¬ÏñaddAttribute, addNamespce¶¼²»ÐÐ
½â¾ö·½·¨£º
Document document = DocumentHelper.createDocument();
Element root = document.addEl ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ