¶ÁÈ¡ÅäÖÃÎļþ[·½Ê½Èý]Ö®xml½âÎöÅäÖÃÎļþ·¨
±¾ÎÄת×Ô£ºhttp://blog.csdn.net/wqf363/archive/2006/11/18/1394600.aspx
ʹÓüò½é
Êý¾ÝÀàÐÍ£º
xmlChar Ìæ´úchar,ʹÓÃUTF-8±àÂëµÄÒ»×Ö½Ú×Ö·û´®¡£Èç¹ûÄãµÄÊý¾ÝʹÓÃÆäËü±àÂ룬Ëü±ØÐ뱻ת»»µ½UTF-8²ÅÄÜʹÓÃlibxmlµÄº¯Êý¡£
XmlDoc °üº¬ÓɽâÎöÎĵµ½¨Á¢µÄÊ÷½á¹¹£¬xmlDocPtrÊÇÖ¸ÏòÕâ¸ö½á¹¹µÄÖ¸Õë¡£
xmlNodePtr and xmlNode °üº¬µ¥Ò»½áµãµÄ½á¹¹
xmlNodePtrÊÇÖ¸ÏòÕâ¸ö½á¹¹µÄÖ¸Õ룬Ëü±»ÓÃÓÚ±éÀúÎĵµÊ÷¡£
Óŵ㣺1. °²×°¡¢Ê¹ÓñȽϼòµ¥£¬ÈÝÒ×ÈëÃÅ£»2. Ö§³ÖµÄ±àÂë¸ñʽ½Ï¶à£¬ÄܺܺõĽâ¾öÖÐÎÄÎÊÌâ(ʹÓÃÒ»¸öºÜ¼òµ¥µÄ±àÂëת»»º¯Êý)£»3. Ö§³ÖXpath½âÎö£¨Õâµã¶ÔÓÚÈÎÒⶨλxmlÎĵµÖеĽڵ㻹ÊǺÜÓÐÓõÄŶ£©£»4.Ö§³ÖWell-formed ºÍvalidÑéÖ¤£¬¾ßÌå¶øÑÔÖ§³ÖDTDÑéÖ¤£¬SchemaÑéÖ¤¹¦ÄÜÕýÔÚÍêÉÆÖÐ(Ŀǰ¶àÊý½âÎöÆ÷¶¼»¹²»Íêȫ֧³ÖshemaÑéÖ¤¹¦ÄÜ)£»5. Ö§³ÖĿǰͨÓõÄDom¡¢Sax·½Ê½½âÎöµÈµÈ¡£
²»×㣺1. Ö¸ÕëÌ«¶à£¬Ê¹Óò»µ±Ê±¾Í»á³öÏÖ´íÎó£¬ÔÚLinuxϵͳÖбíÏÖΪ³£¼ûµÄ¶Î´íÎó£¬Í¬Ñù¹ÜÀí²»µ±Ò×Ôì³ÉÄÚ´æÐ¹Â©£»2.¸öÈËÈÏΪÄÚÃæÓÐЩº¯ÊýµÄ¹¦ÄÜÉè¼ÆµÄ²»ÊǺܺ㨱ÈÈç»ñÈ¡Xpathº¯Êý£¬Ëü²»»ñÈ¡½ÚµãÊôÐÔ£¬ÕâÑù×ÓÓÐЩÇé¿ö»á¶¨Î»²»×¼£©¡£
ÔÚѧϰlibxml2ÖУ¬×îºÃµÄѧϰÊÖ²á¾ÍÊÇÓɹٷ½¿ª·¢ÕßÌṩµÄ¿ª·¢ÊÖ²á¾ÍÊÇlibxml2-devel-2.6.19£¬rpm –q –d libxml2»ñµÃÎĵµÂ·¾¶£¬¾ÍÊÇËüÁË¡£
¹ØÓÚxml
¿ªÊ¼Ñо¿ LibXML2 ¿â֮ǰ£¬ÈÃÎÒÃÇÏÈÀ´¹®¹ÌһϠXML µÄÏà¹Ø»ù´¡¡£XML ÊÇÒ»ÖÖ»ùÓÚÎı¾µÄ¸ñʽ£¬Ëü¿ÉÓÃÀ´´´½¨Äܹ»Í¨¹ý¸÷ÖÖÓïÑÔºÍÆ½Ì¨·ÃÎʵĽṹ»¯Êý¾Ý¡£Ëü°üÀ¨Ò»ÏµÁÐÀàËÆ HTML µÄ±ê¼Ç£¬²¢ÒÔÊ÷ÐͽṹÀ´¶ÔÕâЩ±ê¼Ç½øÐÐÅÅÁС£
ÀýÈ磬¿É²Î¼ûÇåµ¥ 1 ÖнéÉܵļòµ¥Îĵµ¡£ÕâÊÇÅäÖÃÎļþ²¿·ÖÖÐÑо¿µÄÅäÖÃÎļþʾÀýµÄ¼ò»¯°æ±¾¡£ÎªÁ˸üÇå³þµØÏÔʾ XML µÄÒ»°ã¸ÅÄËùÒÔ¶ÔÆä½øÐÐÁ˼ò»¯¡£
Çåµ¥ 1. Ò»¸ö¼òµ¥µÄ XML Îļþ
<?xml version="1.0" encoding="UTF-8"?><files> <owner>root</owner> <action>delete</action> <age units="days">10</age></files>
Çåµ¥ 1 ÖеĵÚÒ»ÐÐÊÇ XML ÉùÃ÷£¬Ëü¸æË߸ºÔð´¦Àí XML µÄÓ¦ÓóÌÐò£¬¼´½âÎöÆ÷£¬½«Òª´¦ÀíµÄ XML µÄ°æ±¾¡£´ó²¿·ÖµÄÎļþʹÓð汾 1.0 ±àд£¬µ«Ò²ÓÐÉÙÁ¿µÄ°æ±¾ 1.1 µÄÎļþ¡£Ëü»¹¶¨ÒåÁËËùʹÓÃ
Ïà¹ØÎĵµ£º
ÏÂÃæµÄ±í¸ñÁгöÁ˰üº¬ÔÚDOM Level 1Öеķ½·¨£¬²¢Áгö²»Í¬µÄä¯ÀÀÆ÷ÊÇ·ñÖ§³ÖÏî¡£
·½ ·¨
Ãè Êö
IE
MOZ
OP
SAF
createAttribute
(name
)
Óøø¶¨Ãû³Æname
´´½¨ÌØÐÔ½Úµã
×
×
×
£
createCDATASection
(text
)
Óðüº¬Îı¾
text
µÄÎı¾×Ó½Úµã
´´½ ......
ÈκÎORMµÄ½â¾ö·½°¸¶¼Ó¦¸ÃÌṩһÖÖÒ×¶ÁµÄ¡¢ÈÝÒױ༵ÄÓ³ÉäÎļþ¸ñʽ£¬¶ø²»½ö½öÌṩһ¸öGUIͼÐι¤¾ß¡£µ±ÏÂÁ÷ÐеĶÔÏó/¹ØÏµÔªÊý¾Ý¸ñʽ¶¼Ö§³ÖXML¡£Ê¹ÓÃXML¸ñʽµÄÎļþ¿ÉÒÔÌṩÈçϺô¦£ºÊ×ÏÈËüÊÇÇáÁ¿¼¶µÄ£¬ÌṩºÜºÃµÄÒ×¶ÁÐÔ£¬Äܹ»½øÐа汾¿ØÖÆ£¬¿ÉÒÔÔÚ²¿Êð½×¶Î¶¨ÖÆ¡£
µ«ÊÇXML¸ñʽÎļþÕæµÄÊÇ×îºÃµÄÑ¡ÔñÂð£¿JavaÉçÍÅÖоͷ´¶ÔXML ......
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(NetShop.Config.DbConfigs.GetSitePath + "images/flashdata/flash.config"));
DataRow[] drs = ds.Tables[0].Select("", "[SortOrder] ASC");
//·µ»ØµÄÊǸöDataRow[]£º
//DataR ......
ÊÕ²Ø
ÎÒÔøÔÚÇ°Ãæ½éÉܹýÒ»¸ö¿ÉÓÃÓÚBREW»·¾³ÏµÄXML Parser£¬½ñÌìÏë·ÖÏíµÄÊÇÈçºÎÔÚSymbianƽ̨ÉϽâÎöXMLÎļþ£¬²»ÐèÒªµÚÈý·½µÄ¶«Î÷£¬SymbianÒѾΪÎÒÃÇÌṩÁËÕâ¸öÀàCParser¡£
ÍøÉÏÒ²ÓÐÕâ·½ÃæµÄ×ÊÁÏ£¬½¨Òé²Î¿¼£º
http://wiki.forum.nokia.com/index.php/How_to_parse_XML_file_using_CParser_class
²»¹ý£¬Òª×¢ÒâµÄÊÇSymbia ......
Reviewer Approved
The following example shows how to parse XML file using Symbian OS C++ class, CParser. CParser is basically a SAX (Simple API for XML)-based XML parser.
It uses an active object to read the XML file chunk by chunk (see CXmlHandler::StartParsingWithAoL( ......