XMLʵÏÖÒì¹¹Êý¾Ý¿â¼äת»»µÄʵÏÖÓë·ÖÎö£¨×ª£©
XMLÖÐÒ»ÖÖÀ©Õ¹µÄ±ê¼ÇÓïÑÔ,Ëü¾ßÓкܺõÄÀ©Õ¹ÐÔ±ê¼Ç.±¾ÎÄͨ¹ýXMLʵÏÖ²»Í¬Êý¾Ý¿âµÄ¶¨Òå,ʵÏÖ¶ÔXMLÊý¾Ý¿âµÄ·ÃÎʺÍÒì¹¹Êý¾Ý¿âÖ®¼äµÄ»¥·Ã.
¡¡¡¡¹Ø¼ü´Ê:XML Òì¹¹Êý¾Ý¿â ÐÅÏ¢½»»» Êý¾Ý¿â·ÃÎÊ
1 ÒýÑÔ
¡¡¡¡XML(Extensible Markup Language)ËüÊÇÓÉW3C×éÖ¯ÓÚ1998Äê2ÔÂ
ÖÆ¶¨µÄÒ»ÖÖͨÓÃÓïÑԹ淶,ÊÇSGML µÄ¼ò»¯×Ó¼¯,רÃÅΪ Web Ó¦ÓóÌÐò¶øÉè¼Æ.XML×÷ΪһÖÖ¿ÉÀ©Õ¹ÐÔ±ê¼ÇÓïÑÔ,Æä×ÔÃèÊöÐÔʹÆä·Ç³£ÊÊÓÃÓÚ²»Í¬Ó¦ÓüäµÄÊý¾Ý½»»»,¶øÇÒÕâÖÖ½»»»ÊDz»ÒÔÔ¤Ïȹ涨һ×éÊý¾Ý½á¹¹¶¨ÒåΪǰÌá.XML×î´óµÄÓŵãÊÇËü¶ÔÊý¾ÝÃèÊöºÍÊý¾Ý´«ËÍÄÜÁ¦,Òò´Ë¾ß±¸ºÜÇ¿µÄ¿ª·ÅÐÔ.ΪÁËʹ»ùÓÚXMLµÄÒµÎñÊý¾Ý½»»»³ÉΪ¿ÉÄÜ,¾Í±ØÐëʵÏÖÊý¾Ý¿âµÄXMLÊý¾Ý´æÈ¡,²¢ÇÒ½«XMLÊý¾ÝͬӦÓóÌÐò¼¯³É,½ø¶øÊ¹Ö®Í¬ÏÖÓеÄÒµÎñ¹æÔòÏà½áºÏ.¿ª·¢»ùÓÚ XMLµÄ¶¯Ì¬Ó¦ÓÃ,È綯̬ÐÅÏ¢·¢²¼¡¢¶¯Ì¬Êý¾Ý½»»»µÈ,ǰÌáÊDZØÐëÓÐÖ§³ÖXMLµÄÊý¾Ý¿âÖ§³Ö. XML ÌṩÃèÊö²»Í¬ÀàÐÍÊý¾ÝµÄ±ê×¼¸ñʽ -- ÀýÈç:Ô¼»á¼Ç¼¡¢¹ºÂò¶¨µ¥¡¢Êý¾Ý¿â¼Ç¼¡¢Í¼ÐΡ¢ÉùÒôµÈ -- ²¢ÇÒ¿ÉÒ»Ö¶øÕýÈ·µØ½âÂë¡¢¹ÜÀíºÍÏÔʾÐÅÏ¢. XMLÒ»¿ªÊ¼¾Í½¨¹¹ÔÚUnicode(ͳһÂë)Ö®ÉÏ,ÌṩÁ˶ԶàÓïÖÖµÄÖ§³Ö,¾ßÓÐÊÀ½çͨÓÃÐÔ.
2 XMLÓëÊý¾Ý¿âµÄ½áºÏ
¡¡¡¡XMLÊý¾ÝÔ´ÓжàÖÖ¶àÑù,¸ù¾Ý¾ßÌåµÄÓ¦ÓÃ,´ó¸Å¿É·ÖΪÏÂÃæÈýÖÖ:Ò»ÖÖÊÇXML´¿Îı¾Îĵµ;µÚ¶þÖÖÊǹØÏµÐÍÊý¾Ý¿â;µÚÈýÖÖÔòÀ´Ô´ÓÚÆäËû¸÷ÖÖÓ¦ÓÃÊý¾Ý,ÈçÓʼþ¡¢Ä¿Â¼Çåµ¥¡¢ÉÌÎñ±¨¸æµÈ.ÆäÖÐ,µÚÒ»ÖÖÀ´Ô´,¼´XML´¿Îı¾ÎĵµÊÇ×î»ù±¾µÄÒ²ÊÇ×îΪ¼òµ¥µÄ,½«Êý¾Ý´æ´¢ÓÚÎļþÖÐ,Æä×î´óµÄÓŵãÔÚÓÚ¿ÉÒÔÖ±½Ó·½±ãµØ¶ÁÈ¡,»òÕß¼ÓÒÔÑùʽÐÅÏ¢ÔÚä¯ÀÀÆ÷ÖÐÏÔʾ,»òÕßͨ¹ýDOM½Ó¿Ú±à³ÌͬÆäËûÓ¦ÓÃÏàÁ¬.µÚ¶þÖÖÊý¾ÝÀ´Ô´ÊǶԵÚÒ»ÖÖÀ´Ô´µÄÀ©Õ¹,Ä¿µÄÊDZãÓÚ¿ª·¢¸÷ÖÖ¶¯Ì¬Ó¦ÓÃ,ÆäÓŵãÔòÔÚÓÚͨ¹ýÊý¾Ý¿âϵͳ¶ÔÊý¾Ý½øÐйÜÀí,È»ºóÔÚÀûÓ÷þÎñÆ÷¶ËÓ¦ÓÃ(ÈçASP¡¢JSP¡¢Servlet)µÈ½øÐж¯Ì¬´æÈ¡.ÕâÖÖ·½Ê½×îÊʺÏÓÚµ±Ç°×îΪÁ÷ÐеĻùÓÚÈý²ã½á¹¹µÄÓ¦Óÿª·¢.µÚÈýÖÖÊý¾ÝÓÉÓÚÀ´Ô´¹ã·º,Òò´ËÐèÒª¾ßÌåÇé¿ö¾ßÌå¶Ô´ý.±¾ÎĵķÖÎöÖ÷ÒªÕë¶ÔǰÁ½ÖÖÊý¾ÝÀ´Ô´½øÐзÖÎö.
¡¡¡¡¶ÔÓÚXMLÎĵµ,¿ÉÒÔͨ¹ýDOM(Document Object Model)¶ÁÈ¡XMLÎĵµÖеĽڵã,ÊÇ×î»ù±¾Ò²ÊÇ×îµ×²ãµÄXML´æÈ¡¼¼Êõ. DOMÊÇW3CµÄÒ»ÖÖ¼¼Êõ±ê×¼,ʵ¼ÊÉÏÊÇÌṩһ×éAPIÀ´´æÈ¡XMLÊý¾Ý. DOM¿ÉÒÔͨ¹ýJavaScript,VBScriptµÈ½Å±¾³ÌÐòÀ´ÊµÏÖ,Ò²¿Éͨ¹ýC++¡¢JavaµÈ¸ß¼¶ÓïÑÔÀ´ÊµÏÖ.
Ïà¹ØÎĵµ£º
/*
ÓÃPHPµÄDOM¿Ø¼þÀ´´´½¨XMLÊä³ö
ÉèÖÃÊä³öÄÚÈݵÄÀàÐÍΪxml
*/
header('Content-Type: text/xml;');
//´´½¨ÐµÄxmlÎļþ
$dom = new DOMDocument('1.0', 'utf-8');
//½¨Á¢<response>ÔªËØ
$response = $dom->createElement('response');
$dom->appendChild($response);
//½¨Á¢<books>ÔªËØ²¢½«Æä×÷ ......
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null);
doc.AppendChild(dec);
//´´½¨Ò»¸ö¸ù½Úµã£¨Ò»¼¶£©
XmlElement root = doc.CreateElement("First");
doc.AppendChild(root);
//´´½¨½Úµã£ ......
ÔÚ¿ª·¢ÏµÍ³Ê±£¬ÎÒÃǾ³£»áʹÓõ½xmlÃèÊöµÄÎļþ£¬ÎÒÃÇ»ù±¾²ÉÓÃÈçϼ¸ÖÖ·½Ê½½øÐнâÎö£º
1dom
DOM ÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾ XML ÎĵµµÄ¹Ù·½ W3C ±ê×¼¡£DOM ÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó² ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëÆ½Ì¨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐѰÕÒ
ÌØ¶¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±» ......
Ìí¼ÓXML½Úµã
/// <summary>
/// ³õʼ»¯XML status-0
/// </summary>
/// <returns></returns>
private bool InitialConfig()
{
bool b ......