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
Ïà¹ØÎĵµ£º
ArrayAdapter adapter =
ArrayAdapter.createfromResource(
this,
R.array.catalog,
android.R.layout.simple_list_item_1);
this.setListAdapter(adapter);
xmlÎļþ
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name= ......
XMLÊÇÒ»ÏîÈÈÃŵļ¼Êõ¡£ËüÖ®ËùÒÔÄܹ»ÒýÆðÈËÃǵÄÐËȤ£¬Ò»¸öÖ÷ÒªµÄÔÒòÔÚÓÚËüÊ®·ÖµÄ¼òµ¥£¬ÈËÃÇ¿ÉÒÔºÜÈÝÒ×µØÀí½âºÍʹÓÃËü¡£Ã¿Ò»¸ö³ÌÐòÔ±¶¼ÄÜÇáÒ׵ؿ´¶®Ò»¸öXMLÎļþ£¬Àí½âËü°üº¬µÄÄÚÈÝ¡£
.NETÖаüº¬Á˺ܶàÖ§³ÖXMLµÄÀ࣬ÕâЩÀàʹµÃ³ÌÐòԱʹÓÃXML±à³Ì¾ÍÈçͬÀí½âXMLÎļþÒ»Ñù¼òµ¥¡£ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒ½«¸ø³öÕâÑùµÄÒ»¸öÀàµÄʹÓÃʾÀý£¬Õ ......
ÒÑÖªÓÐÒ»¸öXMLÎļþ£¨bookstore.xml£©ÈçÏ£º
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
&nb ......
ref : http://blog.csdn.net/High_Mount/archive/2008/09/19/2953335.aspx
תÒå×Ö·û
²»ºÏ·¨µÄXML×Ö·û±ØÐë±»Ìæ»»ÎªÏàÓ¦µÄʵÌå¡£
Èç¹ûÔÚXMLÎĵµÖÐʹÓÃÀàËÆ"<" µÄ×Ö·û, ÄÇô½âÎöÆ÷½«»á³öÏÖ´íÎó£¬ÒòΪ½âÎöÆ÷»áÈÏΪÕâÊÇÒ»¸öÐÂÔªËØµÄ¿ªÊ¼¡£ËùÒÔ²»Ó¦¸ÃÏóÏÂÃæÄÇÑùÊéд´úÂë:
<message>if salary < 1000 then</me ......
¶¯Ì¬´´½¨TXMLDocument¶ÔXMLÎļþ½øÐжÁÈ¡ºÍдÈë - [Delphi¸ß¼¶Ó¦ÓÃ]
2008-01-16
Tag£ºDelphi XML XMLDocument
°æÈ¨ÉùÃ÷£º×ªÔØÊ±ÇëÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷
http://overblue.blogbus.com/logs/13954596.html
uses
XMLDoc, XMLIntf;
{ дÈëXMLÄÚÈÝ }
var
XMLDoc : TXMLDocumen ......