ÎÒÔÚдһ¸öͨѶ³ÌÐò,±¨ÎÄÕâÒ»¿éÎÒµÄÏë·¨ÊÇͨ¹ýxmlÀ´½øÐйÜÀí£¬ÕâÑù¿ÉÒÔ·½±ãµÄ½øÐÐÅäÖúÍÐ޸ġ£ Õâ¸öÏë·¨µÄÆðÒòÊÇÎÒ¿´µ½²»ÉÙÒøÐÐÖмäÒµÎñƽ̨¶¼Äܹ»·½±ãµÄ½øÐÐͨѶ±¨ÎĵÄÐ޸ĺÍÅäÖá£ÎÒµÄÕâ¸öËäÈ»ÊǸöС³ÌÐò£¬ µ«ÎÒÒ²ÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£¬Îª½«À´µÄÈí¼þ·¢Õ¹Ìṩһ¸ö½ÏºÃµÄÌåϵ½á¹¹¡£ ×ʼÎÒµÄÏë·¨ÊÇÕâÑùµÄ£º ¶Ôÿһ¸ö±¨Î͍ÒåÀàËÆÏÂÃæµÄÒ»¸öxml½á¹¹ <Msg>; <ID>;1</ID>; <Type>;1</Type>; <Name>;Ç©µ½½»Ò×</Name>; <AnsMsgGrpID>;2</AnsMsgGrpID>; <Direct>;0</Direct>; <Fields>; <Field>; <ID>;1</ID>; <Type>;1</Type>; <DataType>;1</DataType>; <Name>;Ðø°ü±êÖ¾</Name>; <Len>;1</Len>; </Field>; <Field>; <ID>;2</ID>; <Type>;2</Type>; <DataType>;1</DataType>; <Name>;½»Ò×Âë</Name>; <Len>;4</Len>; </Field>; <Field>; </Field>; <Fields>; </Msg>;
¶ÔÓ¦µÄ£¬ÎÒÔÚ³ÌÐòÖж¨Òå½áÊø±¨ÎÄÅäÖÃÐÅÏ¢µÄÊý¾Ý½á¹¹ÈçÏ£º struct typFld { intiID;//×Ö¶ÎÐòºÅ intiType;//×Ö¶ÎÀàÐÍ intiDataType;//×Ö¶ÎÊý¾ÝÀàÐÍ 1-×Ö·ûÐÍ£»2-ÍøÂç×Ö½ÚÐò char*sFldNm;//×Ö¶ÎÃû³Æ intiLen;//×ֶεij¤¶È }
struct typFlds { intiCnt;//±¨ÎÄÖÐ×ֶεÄÊýÄ¿ struct typFld *FldPtr;//ÔÚ³ÌÐòÖж¯Ì¬·ÖÅä¿Õ¼ä }
struct typMsg { intiMsgID;//±¨ÎÄID int iType;//±¨ÎÄÀàÐÍ char *sMsgNm;//±¨ÎÄÃû³Æ int iAnsMsgID;//»ØÓ¦±¨Îĵı¨ÎÄID int iDirect;//±¨Îĵķ½Ïò£¬0--´«Èë;1--´«³ö struct typFlds *FldsPtr;//Ö¸Ïò´æ´¢¸÷×ֶεÄÅäÖÃÐÅÏ¢µÄ´æ´¢ÇøÓòµÄÖ¸Õë };
µ«ÊǺóÀ´ÎÒ·¢ÏÖ±¨ÎÄÖÐÓÐÒ»Ð©ÌØÊâÇé¿ö£¬²ÉÓÃÉÏÃæµÄ·½Ê½ÊDz»ÄÜ´¦ÀíµÄ£¬È磺 ÓÐһЩ±¨ÎĶÎÊÇÐèҪѻ·µÄ£¬¾ßÌåÑ»·µÄ´ÎÊýÊÇÔÚ³ÌÐòÔËÐÐÖвÅÄÜÖªµÀµÄ£¬±ÈÈç˵£¬Óû§¶à¸öÔµÄÇ··ÑÃ÷ϸ¾ÍÊÇÕâÖÖÇé¿ö¡£ »¹ÓУ¬ÓÐһЩ±¨ÎĶÎÊÇ¿ÉÄÜÓУ¬¿ÉÄÜûÓе쬱ÈÈç˵£ºÈç¹ûÓû§ÓÐÇ··Ñ£¬»ØÓ¦±¨ÎÄÖоͻáÓÐÓû§¸÷ÔµÄÇ··ÑÃ÷ϸ£¬ Èç¹ûÓû§Ã»ÓÐÇ··Ñ£¬»ØÓ¦±¨ÎľÍÖ»·µ»ØÒ»¸ö´íÎóÂ룬¶øÃ»ÓÐÈκεÄÇ··ÑÃ÷ϸ£¬ÕâЩÇé¿ö¿ÉÄÜ»á»ìºÏÆðÀ´£¬ÎÒ¾õµÃ¾Í±È½ÏÂé·³ÁË£¬ ÎÒÉÏÍøÇë½ÌÁËһЩÅóÓѺó£¬Ä¿Ç°µÄ˼·ÊÇÕâÑùµÄ£º ±¨ÎĵÄxml½á¹¹ÈçÏ£º <Msg>; <ID>;1</ID>; <Type>;1</Type>; <Name>;Ç©µ½½»Ò×</Name>; <AnsMsgGrpID>;2</AnsMsgGrpID>; <Direct>;0</Direct>; <Fields>; <Field>; <ID>;1</ID>; <Type>;1</Type>; <DataType>;1</DataType>; <Name>;Ðø°ü±êÖ¾</Name>; <Len>;1</Len>; </Field>; <Field>; <ID>;2</ID>; <Type>;2</Type>; <DataType>;1</DataType>; <Name>;½»Ò×Âë</Name>; <Len>;4</Len>; </Field>; <While>; <If>;Ò»¸öÌõ¼þ±í´ïʽ<If>; <Loop>; <iLpCnt>;iQianFeiMonth</iLpCnt>; <Field>; <ID>;3</ID>; <Type>;2</Type>; <DataType>;1</DataType>; <Name>;Ç··ÑÃ÷ϸ</Name>; <Len>;10</Len>; </Field>; </Loop>; </While>; <Field>; </Field>; <Fields>; </Msg>;
ÒòΪFields½ÚµãÖÐÏÖÔÚÓв»Í¬µÄ½ÚµãÁË£ºField,While,Loop,ÓÐЩÅóÓѵÄÒâ¼ûÊÇÔÚField½ÚµãÖÐʹÓÃÁ´±íµÄÐÎʽ¡£ ÎÒ¿¼ÂÇÁËһϣ¬¾õµÃÁ´±íµÄ±à³ÌÌ«·±Ëö£¬»¹ÊÇÏ£ÍûʹÓÃÊý×éµÄÐÎʽ¡£±à³Ì¼òµ¥¡£ ¶ÔÓ¦µÄ³ÌÐòÖеĽṹÐÞ¸ÄÈçÏ£º struct typFld { intiType;//0-±¨ÎÄ×Ö¶Î1-Ñ»·¿ªÊ¼2-Ñ»·½áÊø3-Ìõ¼þ¿ªÊ¼4-Ìõ¼þ½áÊø char*sLpCnt;//Ñ»·´ÎÊý±í´ïʽ char *sWhile;//Ìõ¼þ±í´ïʽ
intiID;//×Ö¶ÎÐòºÅ intiFldType;//×Ö¶ÎÀàÐÍ intiDataType;//×Ö¶ÎÊý¾ÝÀàÐÍ 1-×Ö·ûÐÍ£»2-ÍøÂç×Ö½ÚÐò char*sFldNm;//×Ö¶ÎÃû³Æ intiLen;//×ֶεij¤¶È }
ÕâÑù¶¨ÒåÒ»¸öͳһµÄ´óµÄ½á¹¹ µ±ÔÚ³ÌÐòÖÐʹÓõÄʱºò£¬±ÈÈç˵£¬¸ù¾Ý¶¨ÒåµÄ±¨ÎĽṹ¶Áȡһ¸ö±¨ÎÄʱ£¬ Èç¹û¶Áµ½Ò»¸ö"Field"½Úµã,¾Í¸ù¾ÝÕâ¸ö½ÚµãµÄÊôÐÔ¶ÁÈ¡ÏàÓ¦³¤¶ÈµÄ×ֶΣ» Èç¹û¶Áµ½Ò»¸ö"While"½Úµã£¬¾Íת»¯<if>;×Ó½ÚµãÖеÄÌõ¼þ±í´ïʽ£¬Èç¹û±í´ïÊ½ÎªÕæ£¬¾Í¶ÁÈ¡whileÖÐµÄÆäËû×ӽڵ㣬Èç¹ûΪ¼Ù£¬¾ÍÌøµ½<While>;½ÚµãµÄÏÂÒ»¸öÐֵܽڵã; Èç¹û¶Áµ½Ò»¸ö"Loop"½Úµã£¬¾Í¸ù¾Ý<iLpCnt>;½ÚµãÖеıí´ïʽµÄÖµÖØ¸´¶ÁÈ¡<Loop>;ÖÐµÄÆäËû×ӽڵ㡣
ÎÒÕâÑùµÄÏë·¨ÈçºÎ£¿ÓÐʲô²»¶Ô»òÕß²»Í׵ĵط½Â𣿻¶Ó´ó¼ÒÌÖÂÛ¡£ ÎÒʹÓõĿª·¢»·¾³ÊÇsco unix +c +lib2xml ÐֵܽڵãºÍ×Ó½ÚµãµÄ²éÕÒ£¬±éÀú·½·¨lib2xmlÌṩÁË£¬ËùÒÔÎҾͲ»ÓÃÔڽṹÖж¨ÒåÁË Ð»Ð»£¡
daidaoke »Ø¸´ÓÚ£º2002-11-04 16:13:23
up
samhoo »Ø¸´ÓÚ£º2002-11-04 16:40:13
ÄãµÄÎÊÌâÊÇ¡°xml±¾µØ»¯ÎÊÌ⡱£º¼´¡°ÈçºÎ°Ñ½á¹¹²»È·¶¨µÄxml±¨Îĵ¼Èë±¾µØ±à³ÌÓïÑÔ(ÈçcÓïÑÔ)µÄ½á¹¹ÒÔ±ã½øÐвÙ×Ý¡±¡£
½â¾öÕâÒ»ÎÊÌâµÄ¹ý³Ì°üº¬ÁËÁ½¸ö²½Ö裺 1£©°ÑxmlÎĵµÓ³Éäµ½±ãÓÚ·ÃÎÊÄÚ´æ½á¹¹ÖУ¬ÕâÒ»²ã´ÎÒ»°ãÓÉxml¿ª·¢¿âÌṩ£¬ÓëÓû§Ó¦ÓÃÎ޹أ¬Óû§³ÌÐò¿ÉÒÔͨ¹ý¸Ã½á¹¹¼°Æä²Ù×ݺ¯Êý£¬±éÀú/²Ù×ÝxmlÎĵµ£¬ÕâÒ»²ã´ÎÒ»°ãÎÞÐèÓû§³ÌÐò¸ÉÔ¤£¬Ö»ÐèÒª¼òµ¥µÄÖ¸¶¨xmlÎĵµ¼´¿ÉÍê³É£º(ÔÚlibxml2ÖÐ, http://xmlsoft.org) xmlDocPtr doc; doc = xmlParseFile(filename); ½ÓÏÂÀ´¼´¿É¶ÔdocÖ¸Õë½øÐвÙ×Ý¡£
2£©±éÀúÉÏÊödocÖ¸Õ룬ȡµÃÓ¦ÓÃËùÐèµÄÐÅÏ¢£¬ÌîдӦÓÃÏà¹Ø½á¹¹¡£
ûÓÐ<if>;, <Loop>;µÄxml±¨ÎÄÒѾ³ä·ÖµÄ±í´ïÁ˽ṹµÄÐÅÏ¢£¨Ã»ÓÐij¸ö½ÚµãÒ²ÊÇÐÅÏ¢£©£¬ÄãÔÚ±éÀú¸Ãxml±¨ÎĵÄʱºòÍêÈ«¿ÉÒÔ»ñµÃÕâЩÐÅÏ¢£¬²¢ÔÚµÚ2£©²½ÌîдÕýÈ·µÄÓ¦Óýṹ£¬¶øÎÞÐèÌí¼Ó¶àÓàµÄ¿ØÖƽڵ㣬Ôö¼Ó³ÌÐòµÄ¸´ÔÓ¶È£¬¶øÇÒÄÑÒÔÔĶÁ£¨ÓÈÆäÔÚµ÷ÊÔµÄʱºò£©¡£
ps:ÄãÓõÄlib2xml¿âÊÇ...£¨homepage?£©
daidaoke »Ø¸´ÓÚ£º2002-11-04 18:19:58
ÎÒÓõÃlib2xml¾ÍÊÇ´Óhttp://xmlsoft.orgÏÂÔØµÄ xmlDocPtr doc; doc = xmlParseFile(filename); ÕâÁ½¾äÎÒ¶¼ÊÇʹÓÃÁ˵ģ¬¿´ÁËÄãµÄ»°£¬ÎÒ¾õµÃÓ¦¸ÃÊÇÎÒ¶Ôlib2xmlµÄʹÓû¹Ã»ÓÐÀí½â͸³¹£¬ ÔÙ¿´¿´ÌṩµÄº¯Êý°É£¬»ØÍ·ÔÙÏòÄãÇë½Ì ·Ç³£¸Ðл£¡
billik »Ø¸´ÓÚ£º2002-12-06 22:56:12
Èç¹ûÓÃÁËxml£¬ÊDz»ÊǾͿÉÒÔ½«½âÎö±¨ÎĵÄÈÎÎñ½»¸øÁËxml£¬²»ÓÃ×Ô¼º´ò°ü½â°ü£¿
daidaoke »Ø¸´ÓÚ£º2002-12-12 22:18:00
ÎÒµÄÏë·¨²»ÊÇÕâÑùµÄ£¬ ÎÒµÄÏë·¨ÊÇ£ºÊ¹ÓÃXMLÀ´¶¨Ò屨ÎĵĽṹ£¬ÈçÒ»¸ö±¨ÎÄÓм¸¸ö×ֶΣ¬Ã¿Ò»¸ö×ֶεij¤¶È£¬µÈµÈÕâЩÐÅÏ¢ ÕâÑùµÄ»°£¬¾Í¿ÉÒÔдһ¸öͨÓõĴò°ü½â°üÄ£¿é£¬À´½ÓÊպͷ¢Ëͱ¨ÎÄ£¬ Èç¹û½«À´±¨ÎĽṹ·¢Éú±ä»¯ÁË£¬¾Í¿ÉÒÔÖ»ÐÞ¸ÄXMLÅäÖÃÎļþµÄÐÅÏ¢£¬¶ø²»ÓÃÐ޸Ĵò°ü½â°üµÄ³ÌÐòÁË¡£ ÎÒ֮ǰµÄÒÉÎÊÊÇÈçºÎÀ´¶¨ÒåÕâ¸öXMLÅäÖÃÎļþµÄ¸ñʽ£¬Ò²¾ÍÊÇ˵ÈçºÎÀ´±íʾһ¸ö±¨ÎĵĽṹ£¬×î½ü¾ßÌå×÷ÁËÒ»¸öÕâÑùµÄ³ÌÐò£¬µ«ÊÇ»¹Ã»×÷Í꣬ÓÐһЩÊÕ»ñ£¬Ò²·¢ÏÖÁËһЩ²»×ãµÄµØ·½ºÍеÄÎÊÌ⣬׼±¸¹ýÒ»¶Îʱ¼äºó×ܽáһϣ¬ÔÙÀ´ÓëÅóÓÑÃÇÌÖÂÛ£¬ »¶ÓbillikÀ´²Î¼ÓÌÖÂÛ
anders »Ø¸´ÓÚ£º2002-12-13 10:31:39
¹ØÓÚxml±¾Éí£¬Ö»Òª¶¨ÒåºÃ×Ô¼ºµÄdtd»òxsd£¬ÆäÓà¿ÉÒÔÓýâÎöÆ÷Íê³ÉÓï·¨¼°ÄÚÈݽâÎö£¨ÓÃdom»òsax¶¼¿ÉÒÔ£¬¸÷ÓÐÓÅȱµã£©£¬Óò»×Å×Ô¼ºÍê³É£¬µ«¶ÔÄÚÈݱ¾ÉíµÄ²Ù×÷´úÂ룬ÄãÒª×Ô¼ºÐ´¡£
nile »Ø¸´ÓÚ£º2002-12-13 11:56:20
ĿǰµÄ XML parsers ²»ÐèÒª DTD Ö®ÀàµÄ¡£ ÊÂʵÉÏ DTDÒ²²»ÊÇXML¸ñʽ£¬ÐèҪרÃŵÄparserÈ¥·ÖÎö¡£ (XML Schema ÊÇ XML ¸ñʽ£¬ µ«ºÜ¸´ÔÓ£¬ ʵÓÃÖеÄXML parsers Ò²¶¼²»»áÈ¥·ÖÎöËü)¡£
½¨Òé²Î¿¼ soap»òÕß xml Ó¦ÓÃÔÚ¼ÓÃܽâÃÜ´«Êä·½ÃæµÄ×ÊÁÏ¡£
anders »Ø¸´ÓÚ£º2002-12-13 12:12:58
¶¨Òådtd¡¢schema²»ÄѰ¡£¬ÓÐרÃŵŤ¾ß¿ÉÒÔ¼õÇáÄãµÄ¹¤×÷±ÈÈçxmlspyµÈ£¬½âÎöÆ÷´ó¶¼ÈÏʶdtd¡¢schema£¬ÆäÂëÎÒÓõͼ¿ÉÒÔ£¬»òÕßÄã¿ÉÒÔÍøÉÏËÑË÷һϣ¬ÓÐÏֳɵÄÈí¼þ¿ÉÓÃ
jipf »Ø¸´ÓÚ£º2003-01-13 12:30:08
ÎÒ¾õµÄ¿´Ò»¿´£ò£á£ä£é£õ£ó·þÎñÆ÷ºÍ¿Í»§¶ËµÄʵÏÖ¹ý³Ì»áÓкܴó°ïÖú¡£
|