libxml¿â½âÎöXMLÎļþ
Ð÷ÂÛ
LibxmlÊÇÒ»¸öÓÐÃâ·ÑÐí¿ÉµÄÓÃÓÚ´¦ÀíXML¡¢¿ÉÒÔÇáËÉ¿çÔ½¶à¸öƽ̨µÄCÓïÑÔ¿â¡£LibxmlʵÏÖÁ˶Á¡¢´´½¨¼°²Ù×ÝXMLÊý¾Ý¹¦ÄÜ¡£
Õâ¸öÖ¸ÄÏ»ùÓÚÒ»¸ö¼òµ¥µÄXMLÓ¦Óá£
Êý¾ÝÀàÐÍ
Libxml ¶¨ÒåÁËÐí¶àÊý¾ÝÀàÐÍ£¬ËüÒþ²ØÁËÔÓÂÒµÄÀ´Ô´ÒÔÖÂÄã²»±Ø´¦ÀíËü³ý·ÇÄãÓÐÌØ¶¨µÄÐèÒª¡£xmlChar Ìæ´úchar,ʹÓÃUTF-8±àÂëµÄÒ»×Ö½Ú×Ö·û´®¡£Èç¹ûÄãµÄÊý¾ÝʹÓÃÆäËü±àÂ룬Ëü±ØÐ뱻ת»»µ½UTF-8²ÅÄÜʹÓÃlibxmlµÄº¯Êý¡£ÔÚlibxml±àÂëÖ§³ÖWEBÒ³ÃæÓиü¶à¹ØÓÚ±àÂëµÄÓÐÓÃÐÅÏ¢¡£
XmlDoc °üº¬ÓɽâÎöÎĵµ½¨Á¢µÄÊ÷½á¹¹£¬xmlDocPtrÊÇÖ¸ÏòÕâ¸ö½á¹¹µÄÖ¸Õë¡£
xmlNodePtr and xmlNode °üº¬µ¥Ò»½áµãµÄ½á¹¹xmlNodePtrÊÇÖ¸ÏòÕâ¸ö½á¹¹µÄÖ¸Õ룬Ëü±»ÓÃÓÚ±éÀúÎĵµÊ÷¡£
½âÎöÎĵµ
½âÎöÎĵµÊ±½ö½öÐèÒªÎļþÃû²¢Ö»µ÷ÓÃÒ»¸öº¯Êý£¬²¢ÓдíÎó¼ì²é¡£
¢ÙxmlDocPtr doc;
¢ÚxmlNodePtr cur;
¢Ûdoc = xmlParseFile(docname);
¢Üif (doc == NULL ) {
fprintf(stderr,"Document not parsed successfully. \n");
return;
}
¢Ýcur = xmlDocGetRootElement(doc);
¢Þif (cur == NULL) {
fprintf(stderr,"empty document\n");
xmlFreeDoc(doc);
return;
}
¢ßif (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
fprintf(stderr,"document of the wrong type, root node != story");
xmlFreeDoc(doc);
return;
}
¢Ù¶¨Òå½âÎöÎĵµÖ¸Õë¡£
¢Ú¶¨Òå½áµãÖ¸Õë(ÐèÒªËüΪÁËÔÚ¸÷¸ö½áµã¼äÒÆ¶¯)¡£
¢Ü¼ì²é½âÎöÎĵµÊÇ·ñ³É¹¦£¬Èç¹û²»³É¹¦£¬libxml½«Ö¸Ò»¸ö×¢²áµÄ´íÎó²¢Í£Ö¹¡£
×¢ÊÍ
Ò»¸ö³£¼û´íÎóÊDz»Êʵ±µÄ±àÂë¡£XML±ê×¼Îĵµ³ýÁËÓÃUTF-8»òUTF-16Í⻹¿ÉÓÃÆäËü±àÂë±£´æ¡£Èç¹ûÎĵµÊÇÕâÑù£¬libxml½«×Ô¶¯µØÎªÄãת»»µ½UTF-8¡£
¢ÝÈ¡µÃÎĵµ¸ùÔªËØ
¢Þ¼ì²éÈ·Èϵ±Ç°ÎĵµÖаüº¬ÄÚÈÝ¡£
¢ßÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃÇÐèҪȷÈÏÎĵµÊÇÕýÈ·µÄÀàÐÍ¡£¡°Story¡±ÊÇÔÚÕâ¸öÖ¸ÄÏÖÐʹÓÃÎĵµµÄ¸ùÀàÐÍ¡£
È¡µÃÔªËØÄÚÈÝ
ÕÒµ½ÔÚÎĵµÊ÷ÖÐÒª²éÕÒµÄÔªËØºó¿ÉÒÔÈ¡µÃËüµÄÄÚÈÝ¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃDzéÕÒ¡°story¡±ÔªËØ¡£½ø³Ì½«ÔÚÈß³¤µÄÊ÷ÖвéÕÒÎÒÃǸÐÐËȤµÄÔªËØ¡£ÎÒÃǼٶ¨ÆÚÄãÒѾÓÐÁËÒ»¸öÃûΪdocµÄxmlDocPtrºÍÒ»¸öÃûΪcurµÄxmlNodPtr¡£
¢Ùcur = cur->xmlChildrenNode;
¢Úwhile (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
parseStory (doc, cur);
}
cur = cur->next;
}
¢ÙÈ¡µÃcurµÄµÚÒ»¸ö×Ó½áµã£¬curÖ¸ÏòÎĵµµÄ¸ù£¬¼´¡°story¡±ÔªËØ¡£
Ïà¹ØÎĵµ£º
XML=¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ(eXtensible Markup Language).
¿ÉÀ©Õ¹±ê¼ÇÓïÑÔXMLÊÇÒ»ÖÖ¼òµ¥µÄÊý¾Ý´æ´¢ÓïÑÔ£¬Ê¹ÓÃһϵÁмòµ¥µÄ±ê¼ÇÃèÊöÊý¾Ý£¬¶øÕâЩ±ê¼Ç¿ÉÒÔÓ÷½±ãµÄ·½Ê½½¨Á¢£¬ËäÈ»XMLÕ¼ÓõĿռä±È¶þ½øÖÆÊý¾ÝÒªÕ¼Óøü¶àµÄ¿Õ¼ä£¬µ«XML¼«Æä¼òµ¥Ò×ÓÚÕÆÎÕºÍʹÓá£
XMLµÄ¼òµ¥Ê¹ÆäÒ×ÓÚÔÚÈκÎÓ¦ÓóÌÐòÖжÁдÊý¾Ý£¬ÕâʹXMLºÜ¿ì³ÉΪÊý¾Ý½»»»µÄ ......
XSDÎļþ £¨XML Schema ÓïÑÔÒ²³Æ×÷ XML Schema ¶¨Ò壨XML Schema Definition£¬XSD£©¡£ ¾ßÌåʹÓ÷½·¨ºÍ¶¨ÒåÇë²Î¿´£º
http://www.w3school.com.cn/schema/index.asp
java×Ôjdk1.5ÒÔÉÏÐÂÔöÁËSchemaFactoryÀà ¿ÉÒÔʵÏÖ¶ÔXSDÑéÖ¤µÄÖ§³Ö£¬Ê¹ÓÃÆðÀ´Ò²ºÜ·½±ã¡£
ÒÔÏ´úÂë¿ÉÓÃÔÚJDK1.5+ ÑéÖ¤xml
public class SimpleErrorHandler i ......
ʲôÊÇ XML?
XML Ö¸¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ£¨EXtensible Markup Language£©
XML ÊÇÒ»ÖÖ±ê¼ÇÓïÑÔ£¬ºÜÀàËÆ HTML
XML µÄÉè¼Æ×ÚÖ¼ÊÇ´«ÊäÊý¾Ý£¬¶ø·ÇÏÔʾÊý¾Ý
XML ±êǩûÓб»Ô¤¶¨Òå¡£ÄúÐèÒª×ÔÐж¨Òå±êÇ©¡£
XML ±»Éè¼ÆÎª¾ßÓÐ×ÔÎÒÃèÊöÐÔ¡£
XML ÊÇ W3C µÄÍÆ¼ö±ê×¼
XML Óë HTML µÄÖ÷Òª²îÒì
XML ²»ÊÇ HTML µÄÌæ´ú¡£
XML ºÍ HTML Ϊ² ......
Ò»XML ½âÎöÆ÷
´ó¶àÊýä¯ÀÀÆ÷¶¼ÓжÁÈ¡ºÍ²Ù×÷ XML µÄÄÚ½¨ XML ½âÎöÆ÷¡£
½âÎöÆ÷°Ñ XML ת»»Îª JavaScript ¿É·ÃÎʵĶÔÏó¡£
½âÎö XML
ËùÓÐÏÖ´úä¯ÀÀÆ÷¶¼ÓжÁÈ¡ºÍ²Ù×÷ XML µÄÄÚ½¨ XML ½âÎöÆ÷¡£
½âÎöÆ÷°Ñ XML ÔØÈëÄڴ棬Ȼºó°ÑËüת»»Îª¿Éͨ¹ý JavaScript ·ÃÎ浀 XML DOM ¶ÔÏó¡£
Äú½«ÔÚ±¾½Ì³ÌµÄÏÂÒ»½ÚÖÐѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ ......
À©Õ¹Struts2--×Ô¶¨ÒåStringºÍXML¸ñʽµÄResult
struts2ËäÈ»¼Ì³ÐÁËwebworkÓÅÐãµÄMVC·ÖÀ룬¿ÉÊÇÓÐºÜ¶àµØ·½ÈÃÈ˰Ù˼²»µÃÆä½â£¡×îÈÃÈËÀëÆ×µÄÊÇ£¬·µ»ØµÄ½á¹û¼¯ÖоÓȻûÓÐ
String£¬xmlÕâÁ½Öַdz£³£ÓõÄÀàÐÍ¡£»¹ÊÇ×Ô¼º¶¯ÊÖ£¬·áÒÂ×ãʳ£º
µÚÒ»ÖÖ·½Ê½£ºÊ¹ÓÓPlainText Result”
& ......