Óà PHP ¶ÁÈ¡ºÍ±àд XML DOM
Óà PHP ¶ÁÈ¡ºÍ±àд XML DOM
ʹÓà DOM ¿â¡¢SAX ½âÎöÆ÷ºÍÕýÔò±í´ïʽ
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
¼¶±ð£º Öм¶
Jack Herrington (jack_d_herrington@codegeneration.net), ¸ß¼¶Èí¼þ¹¤³Ìʦ, "Code Generation Network"
2006 Äê 2 ÔÂ 06 ÈÕ
ÓÐÐí¶à¼¼Êõ¿ÉÓÃÓÚÓà PHP ¶ÁÈ¡ºÍ±àд XML¡£±¾ÎÄÌṩÁËÈýÖÖ·½·¨¶ÁÈ¡ XML£ºÊ¹Óà DOM ¿â¡¢Ê¹Óà SAX ½âÎöÆ÷ºÍʹÓÃÕýÔò±í´ïʽ¡£»¹½éÉÜÁËʹÓà DOM ºÍ PHP Îı¾Ä£°å±àд XML¡£
Óà PHP ¶ÁÈ¡ºÍ±àд¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ£¨XML£©¿´ÆðÀ´¿ÉÄÜÓеã¿Ö²À¡£Êµ¼ÊÉÏ£¬XML ºÍËüµÄËùÓÐÏà¹Ø¼¼Êõ¿ÉÄÜÊǿֲÀµÄ£¬µ«ÊÇÓà PHP ¶ÁÈ¡ºÍ±àд XML ²»Ò»¶¨ÊÇÏî¿Ö²ÀµÄÈÎÎñ¡£Ê×ÏÈ£¬ÐèҪѧϰһµã¹ØÓÚ XML µÄ֪ʶ —— ËüÊÇʲô£¬ÓÃËü×öʲô¡£È»ºó£¬ÐèҪѧϰÈçºÎÓà PHP ¶ÁÈ¡ºÍ±àд XML£¬¶øÓÐÐí¶àÖÖ·½Ê½¿ÉÒÔ×öÕâ¼þÊ¡£
±¾ÎÄÌṩÁË XML µÄ¼ò¶ÌÈëÃÅ£¬È»ºó½âÊÍÈçºÎÓà PHP ¶ÁÈ¡ºÍ±àд XML¡£
ʲôÊÇ XML£¿
XML ÊÇÒ»ÖÖÊý¾Ý´æ´¢¸ñʽ¡£ËüûÓж¨Òå±£´æÊ²Ã´Êý¾Ý£¬Ò²Ã»Óж¨ÒåÊý¾ÝµÄ¸ñʽ¡£XML Ö»ÊǶ¨ÒåÁ˱ê¼ÇºÍÕâЩ±ê¼ÇµÄÊôÐÔ¡£¸ñʽÁ¼ºÃµÄ XML ±ê¼Ç¿´ÆðÀ´ÏñÕâÑù£º
<name>Jack Herrington</name>
Õâ¸ö <name> ±ê¼Ç°üº¬Ò»Ð©Îı¾£ºJack Herrington¡£
²»°üº¬Îı¾µÄ XML ±ê¼Ç¿´ÆðÀ´ÏñÕâÑù£º
<powerUp />
Óà XML ¶Ôij¼þʽøÐбàдµÄ·½Ê½²»Ö¹Ò»ÖÖ¡£ÀýÈ磬Õâ¸ö±ê¼ÇÐγɵÄÊä³öÓëǰһ¸ö±ê¼ÇÏàͬ£º
<powerUp></powerUp>
Ò²¿ÉÒÔÏò XML ±ê¼ÇÌí¼ÓÊôÐÔ¡£ÀýÈ磬Õâ¸ö <name> ±ê¼Ç°üº¬ first ºÍ last ÊôÐÔ£º
<name first="Jack" last="Herrington" />
Ò²¿ÉÒÔÓà XML ¶ÔÌØÊâ×Ö·û½øÐбàÂë¡£ÀýÈ磬& ·ûºÅ¿ÉÒÔÏñÕâÑù±àÂ룺
&
°üº¬±ê¼ÇºÍÊôÐ﵀ XML ÎļþÈç¹ûÏñʾÀýÒ»Ñù¸ñʽ»¯£¬¾ÍÊǸñʽÁ¼ºÃµÄ£¬ÕâÒâζ×űê¼ÇÊǶԳƵģ¬×Ö·ûµÄ±àÂëÕýÈ·¡£Çåµ¥ 1 ÊÇÒ»·Ý¸ñʽÁ¼ºÃµÄ XML µÄʾÀý¡£
Çåµ¥ 1. XML ͼÊéÁбíʾÀý
<books>
<book>
<author>Jack Herrington</author>
<title>PHP Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>Jack Herrington</author>
<title>Podcasting Hacks</title>
<publisher>O'Reilly</publisher>
</book>
</books>
Çåµ¥ 1 ÖÐµÄ XML °üº¬Ò»¸öͼÊéÁÐ
Ïà¹ØÎĵµ£º
Ò»°ãÐÂÊÖͨ³£Ö»ÊÇʹÓÃÀàËÆµÄXerces,
TinyXMLÖ®ÀàµÄXML½âÎöxml£¬ÕâÖÖ·½Ê½Êµ¼ÊÉϺÜÀË·Ñʱ¼ä£¬×Ô¼º±àдºÜ¶à´úÂëÒ²ÈÝÒ׳ö´í¡£ÒòΪ£¬ËûÃǾ³£ÒªÐ´Ò»¸öXML¶ÔÏóEntityµÄÀ࣬²¢¸½×ÅÒ»¶Ñ¶ÔÏó½âÎöµÄcode¡£¹¤×÷Á¿±È½Ï´ó¡£Ê¹ÓÃXML
Schema¹¤¾ß£¬XSDÉè¼Æ¹¤¾ß£¬È»ºóͨ¹ý¹¤¾ßÉú³ÉEntityClassºÍPaser
class¡£ÎÒ²»ÖªµÀÕâÖÖ¼¼ÊõÈ·ÇÐµÄÆðÔ ......
Ϊ PHP Ìí¼ÓÀ©Õ¹¿âÊÇÒ»¼þ¼òµ¥µÄÊÂÇé¡£²»¹ýÊ×ÏÈÄã×îºÃ»áÒ»µãµãC/C++±à³Ì¼¼Êõ£¬²¢ÇÒ¶ÔMakefileÓÐÒ»¶¨µÄÁ˽⡣
ÒÔÏÂÊÇÔÚ Linux ϵÄÒ»¸ö¼òµ¥Àý×Ó£º
Ê×ÏÈ£¬½øÈë php Ô´´úÂëĿ¼£¨¼ÙÉèΪ PHP_SRC£¬ÒÔÏÂͬ£©£¬Ê¹Óà php ×Ô´øµÄ ext_skel ¹¤¾ßÉú³ÉÒ»¸öÐÂÀ©Õ¹ mk4php£º
cd PHP_SRC/etc;
./ext_skel --extname=mk4php
Õý³£Ç ......
php¶ÔxmlÎļþÖнڵãµÄɾ³ý\±à¼
ʹÓÃgetElementsByTagName()·½·¨É¾³ý\±à¼XML½Úµã
Èý¸öÎļþ£º
1.root.xml
2.remove.php —— ɾ³ý½Úµã
3.replace.php —— Ìæ»»½Úµã
root.xml
<root>
<child1>child1 content</child1>
<child2>child2 content</child2>
& ......
public string ConvertDataTableToXML(DataTable xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
writer = new XmlTextWriter(stream, Encoding.Default);
......
Ò»¡¢ÒýÂÛ
PHP,Ò»ÃÅ×î½ü¼¸ÄêÐËÆðµÄwebÉè¼Æ½Å±¾ÓïÑÔ,ÓÉÓÚËüµÄÇ¿´óºÍ¿ÉÉìËõÐÔ,½ü¼¸ÄêÀ´µÃµ½³¤×ãµÄ·¢Õ¹,phpÏà±È´«Í³µÄaspÍøÕ¾,ÔÚËÙ¶ÈÉÏÓоø¶ÔµÄÓÅÊÆ,Ïëmssqlת6ÍòÌõÊý¾ÝphpÈçÐèÒª40Ãë,asp²»ÏÂ2·ÖÖÓ.µ«ÊÇ,ÓÉÓÚÍøÕ¾µÄÊý¾ÝÔ½À´Ô½¶à,ÎÒÃÇ¿ÊÇóÄܸü¿ìËٵĵ÷ÓÃÊý¾Ý,²»±ØÒªÃ¿´Î¶¼´ÓÊý¾Ý¿âµô,ÎÒÃÇ¿ÉÒÔ´ÓÆäËûµÄµØ·½,±È·½Ò»¸öÎļþ,»òÕßij¸ ......