½â¶ÁPHP DOMDocumentÔÚ½âÎöXMLÎļþÖеÄ×÷ÓÃ
½â¶ÁPHP DOMDocumentÔÚ½âÎöXMLÎļþÖеÄ×÷ÓÃ
http://developer.51cto.com 2009-12-02 10:39 ØýÃû Áø³Ç²©¿Í ÎÒÒªÆÀÂÛ(0)
PHP DOMDocumentµÄ¹¦Äܷdz£Ç¿´ó£¬ÎÒÃÇÔÚÕâÆªÎÄÕÂÖн«½éÉÜÈçºÎÕýÈ·µÄÔËÓÃPHP DOMDocumentÀ´½øÐÐXMLÎļþµÄ½âÎö¡£Ï£Íû¶ÔÓÖÐèÒªµÄÅóÓÑÓÐËù°ïÖú¡£
ÔÚʹÓÃPHP¶ÔXMLÎļþ½øÐнâÎöµÄʱºò£¬ÎÒÃÇ¿ÉÒÔÓúܶ෽·¨¡£ÔÚÕâÀÎÒÃǽ«Îª´ó¼ÒÖØµã½éÉÜÈçºÎʹÓÃPHP DOMDocumentÀ´¼°ÄæÐÐÄܹ»XMLÎļþµÄ½âÎö¡£
¹ØÓÚÓõ½µÄXMLÎļþ»¹ÒÔ“Php Xml´¦ÀíÖ®simplexmlʹÓ÷½·¨Ç³Ì¸”Ò»ÎÄÖеÄXMLΪÀý£¬ÎļþÃûΪ£ºme.xml¡£´úÂëÈçÏ£º
PHP XML´¦ÀíXML´úÂë
<?xml version="1.0" encoding="utf-8"?>
<phplamp>
<post>
<title id="1">PHP XML´¦Àí½éÉÜÒ»</title>
<details>ÏêϸÄÚÈÝÒ»</details>
</post>
<post>
<title id="2">PHP XML´¦Àí½éÉܶþ</title>
<details>ÏêϸÄÚÈݶþ</details>
</post>
<post>
<title id="3">PHP XML´¦Àí½éÉÜÈý</title>
<details>ÏêϸÄÚÈÝÈý</details>
</post>
</phplamp>
È»ºó¾ÍÐèÒªÓÃPHP DOMDocumentÈ¥´¦ÀíÕâ¸öÎļþ£¬½«XMLÎļþÖеÄÈκÎÔªËØ¶¼½âÎö³öÀ´¡£´úÂëÈçÏ£¬ÀïÃæÓÐ×¢ÊÍ¡£
PHP DOMDocument½âÎöXMLÎļþµÄ´úÂë
<?php
// Ê×ÏÈÒª½¨Ò»¸öDOMDocument¶ÔÏó
$xml = new DOMDocument();
// ¼ÓÔØXmlÎļþ
$xml->load("me.xml");
// »ñÈ¡ËùÓеÄpost±êÇ©
$postDom = $xml->getElementsByTagName("post");
// Ñ»·±éÀúpost±êÇ©
foreach($postDom as $post){
// »ñÈ¡Title±êÇ©Node
$title = $post->getElementsByTagName("title");
/**
* Òª»ñÈ¡Title±êÇ©µÄIdÊôÐÔÒª·ÖÁ½²¿×ß
* 1. »ñÈ¡titleÖÐËùÓÐÊôÐÔµÄ
ÁбíÒ²¾ÍÊÇ$title->item(0)->attributes
* 2. »ñÈ¡titleÖÐidµÄÊôÐÔ£¬
ÒòΪÆäÔÚµÚһλËùÒÔÓÃitem(0)
*
* СÌáʾ£º
* ÈôÈ¡ÊôÐÔµÄÖµ¿ÉÒÔÓÃitem(*)->nodeValue
* ÈôÈ¡ÊôÐԵıêÇ©¿ÉÒÔÓÃitem(*)->nodeN
Ïà¹ØÎĵµ£º
Output Control º¯Êý¿ÉÒÔÈÃÄã×ÔÓÉ¿ØÖƽű¾ÖÐÊý¾ÝµÄÊä³ö¡£Ëü·Ç³£µØÓÐÓã¬ÌرðÊǶÔÓÚ£ºµ±ÄãÏëÔÚÊý¾ÝÒѾÊä³öºó£¬ÔÙÊä³öÎļþÍ·µÄÇé¿ö¡£Êä³ö¿ØÖƺ¯Êý²»¶ÔʹÓà header() »ò setcookie(), ·¢Ë͵ÄÎļþÍ·ÐÅÏ¢²úÉúÓ°Ïì,Ö»¶ÔÄÇЩÀàËÆÓÚ echo() ºÍ PHP ´úÂëµÄÊý¾Ý¿éÓÐ×÷Óá£
ÎÒÃÇÏȾÙÒ»¸ö¼òµ¥µÄÀý×Ó£¬Èôó¼Ò¶ÔOutput ControlÓÐÒ»¸ö´ ......
Ϊ PHP Ìí¼ÓÀ©Õ¹¿âÊÇÒ»¼þ¼òµ¥µÄÊÂÇé¡£²»¹ýÊ×ÏÈÄã×îºÃ»áÒ»µãµãC/C++±à³Ì¼¼Êõ£¬²¢ÇÒ¶ÔMakefileÓÐÒ»¶¨µÄÁ˽⡣
ÒÔÏÂÊÇÔÚ Linux ϵÄÒ»¸ö¼òµ¥Àý×Ó£º
Ê×ÏÈ£¬½øÈë php Ô´´úÂëĿ¼£¨¼ÙÉèΪ PHP_SRC£¬ÒÔÏÂͬ£©£¬Ê¹Óà php ×Ô´øµÄ ext_skel ¹¤¾ßÉú³ÉÒ»¸öÐÂÀ©Õ¹ mk4php£º
cd PHP_SRC/etc;
./ext_skel --extname=mk4php
Õý³£Ç ......
¡¡Ã¿¸öPHP³ÌÐòÔ±¶¼ÖªµÀPHPÓÐÇ¿´óµÄÕýÔò±í´ïʽ¹¦ÄÜ£¬ÎªÁËÒÔºóµÄ¹¤×÷·½±ã£¬ÎÒ´ÓÍøÉÏÕûÀíÁ˹ØÓÚÕýÔò±í´ïʽµÄ×ÊÁÏ£¬·½±ãÒÔºó¹¤×÷ʱµÄ½øÐÐ×ÊÁϲéÔÄ¡£
¡¡¡¡ÕýÔò±í´ïʽ(regular expression)ÃèÊöÁËÒ»ÖÖ×Ö·û´®Æ¥ÅäµÄģʽ£¬¿ÉÒÔÓÃÀ´¼ì²éÒ»¸ö´®ÊÇ·ñº¬ÓÐijÖÖ×Ó´®¡¢½«Æ¥ÅäµÄ×Ó´®×öÌæ»»»òÕß´Óij¸ö´®ÖÐÈ¡³ö·ûºÏij¸öÌõ¼þµÄ×Ó´®µÈ¡£
¡¡¡¡ ......
php¶ÔxmlÎļþÖнڵãµÄɾ³ý\±à¼
ʹÓÃgetElementsByTagName()·½·¨É¾³ý\±à¼XML½Úµã
Èý¸öÎļþ£º
1.root.xml
2.remove.php —— ɾ³ý½Úµã
3.replace.php —— Ìæ»»½Úµã
root.xml
<root>
<child1>child1 content</child1>
<child2>child2 content</child2>
& ......
1. ¶ÔµÝ¹éµÄ²»Á¼Ö§³Ö
µÝ¹éÊÇÒ»ÖÖº¯Êýµ÷ÓÃ×ÔÉíµÄ»úÖÆ¡£ÕâÊÇÒ»ÖÖÇ¿´óµÄÌØÐÔ¿ÉÒÔ°ÑijЩ¸´ÔӵĶ«Î÷±äµÃºÜ¼òµ¥¡£ÓÐÒ»¸öʹÓõݹéµÄÀý×ÓÊÇ¿ìËÙÅÅÐò£¨quicksort£©¡£²»ÐÒµÄÊÇ£¬PHP²¢²»Éó¤µÝ¹é¡£Zeev£¬Ò»¸öPHP¿ª·¢ÈËÔ±£¬ËµµÀ£º“PHP 4.0£¨Zend£©¶ÔÃܼ¯Êý¾ÝʹÓÃÁËÕ»·½Ê½£¬¶ø²»ÊÇʹÓöѷ½Ê½¡£Ò²¾ÍÊÇ˵ËüÄÜÈÝÈ̵ĵݹ麯ÊýµÄÊýÁ¿ÏÞ ......