ʹÓà PHP ´¦Àí XML ÅäÖÃÎļþ
ʹÓà PHP ´¦Àí XML ÅäÖÃÎļþ
ʹÓà XML ÅäÖÃÎļþÇáÒ×µØÅäÖà PHP Ó¦ÓóÌÐòºÍ¶ÔÏó
¼¶±ð£º Öм¶
Vikram Vaswani, ´´Ê¼ÈË, Melonfire
2007 Äê 11 ÔÂ 29 ÈÕ
XML ΪӦÓóÌÐòÅäÖÃÎļþÌṩÁËÒ»ÖÖ±ã½Ý¡¢Ò×Óõıí´ïÓïÑÔ¡£µ«ÓÐʱºò½«ÕâЩÐÅÏ¢ÌáÈ¡µ½ PHP ½Å±¾Öн«»áÃæ¶ÔÒ»¸ö²»Ð¡µÄÌôÕ½¡£ÕâÕýÊÇ XJConf for PHP °ü³öÏÖµÄÔÒò£ºËüÌṩÁËÒ»ÖÖ¶ÁÈ¡ XML ±àÂëÐÅÏ¢²¢Ö±½Ó½«ÆäÓÃÓÚÅäÖñêÁ¿¡¢Êý×éºÍ PHP ¶ÔÏóÕâÀà PHP Êý¾Ý½á¹¹µÄ API¡£±¾ÎĽéÉÜÁËÕâ¸ö°ü£¬²¢Í¨¹ýÔÚһЩʵ¼ÊÓ¦ÓóÌÐòÖеÄÓ¦ÓÃÀ´Ê¾·¶ÆäÓ÷¨£¬°üÀ¨ÅäÖø´ÔÓµÄÀàÊ÷ºÍ¹¹½¨»ùÓÚ Web µÄÅäÖýçÃæ¡£
¼ò½é
×÷ΪһÌõͨÓùæÔò£¬¿ª·¢ÈκÎÉÔ΢¸´ÔÓµÄÈí¼þʱ£¬×îºÃ»¨µãʱ¼äÈ·¶¨²úÆ·µÄÖØÒªÅäÖñäÁ¿£¬²¢½«Æä´Ó±ê×¼±äÁ¿Ãû³Æ¿Õ¼äÖÐÈ¡³öÀ´·Åµ½µ¥¶ÀµÄλÖá£ÕâÑù´¦Àíºó¾ÍÄÜÐγɼ¯ÖеÄÓ¦ÓóÌÐòÅäÖÃÐÅÏ¢´æ´¢¿â£¬´Ó¶ø¼ò»¯ÔÚ²»Í¬»·¾³Öй¤×÷ʱ¶Ô²úÆ·µÄÐ޸ġ£»¹ÓÐÖúÓÚ¿ª·¢ÈËÔ±ÊìϤºÍÀí½â²úÆ·³É¹¦ÔËÐÐËùÐèÒªµÄÖØÒªÐÅÏ¢¡£
´«Í³ÉÏ£¬ÅäÖñäÁ¿´æ´¢ÔÚÒ»¸ö£¨»ò¶à¸ö£©ÅäÖÃÎļþÖС£ÕâЩ±äÁ¿³£³£Óà XML ±íʾ£¬XML ÌṩÁËÒ»¸öÁé»îµÄ¿ò¼ÜÔÊÐíÎĵµ×÷ÕßʹÓÃ×Ô¶¨ÒåµÄ±êÇ©ºÍ±ê¼ÇÃèÊöÄÚÈÝ¡£¶àÊýÇé¿öÏ£¬¿ª·¢ÈËÔ±»¹ÐèÒª½¨Á¢ÓëÕâЩ XML ÅäÖÃÎļþ½»»¥µÄÓû§½Ó¿Ú£¬¶ÁÈ¡ºÍʹÓðüº¬µÄÅäÖÃÊý¾Ý¡£
XJConf for PHP ¿É°ïÖú PHP ¿ª·¢ÈËÔ±Íê³ÉÕâÏîÈÎÎñ¡£Õâ¸ö¿ªÔ´µÄ°üÌṩÁËÒ»ÖÖ API£¬´ÓÅäÖÃÎļþÖÐÌáÈ¡ XML ±àÂëµÄÐÅÏ¢£¬×ª»¯³ÉÔÉúÊý¾Ý½á¹¹Ö±½ÓÔÚÓ¦ÓóÌÐòÖÐʹÓá£Í¬ÑùµØ£¬ËüҲΪËùÓÐµÄ PHP Ó¦ÓóÌÐòÌṩÁËÒ»ÖÖ½¡×³µÄ¡¢Ò×ÓõIJ¿¼þ¡£
»ØÒ³Ê×
°²×°ÐèÒªµÄÈí¼þ
XJConf °üÓÉ Frank Kleine ºÍ Stephan Schmidt ά»¤£¬°´ÕÕ GNU LGPL ÐÒéÔÚ PHP ÉçÇø·¢²¼¡£ËüÐèÒª PHP 5.0£¨»ò¸ü¸ß°æ±¾£©£¬×î¼òµ¥µÄ°²×°·½·¨ÊÇʹÓà PEAR ×Ô¶¯°²×°³ÌÐò£¬ºóÕßĬÈÏÇé¿öϰüº¬ÔÚ PHP ÖС£°²×°Ö»ÐèÔÚ shell Ìáʾ·ûÏÂÊäÈëÏÂÁÐÃüÁî¼´¿É£º
shell> pear channel-discover pear.php-tools.net
shell> pear install pat/XJConfForPHP-alpha
PEAR °²×°³ÌÐò½«Á¬½Óµ½ÐµÄͨµÀ£¬ÏÂÔØÕâ¸ö³ÌÐò°ü²¢°²×°µ½ÏµÍ³ÖÐÊʵ±µÄλÖᣱ¾ÎÄʹÓõÄÊÇ XJConf for PHP V. 0.2.0¡£
ÊÖ¶¯°²×°ÐèÒª·ÃÎÊÖ÷Ò³£¬ÏÂÔØÔ´´úÂëѹËõ°ü£¬ÊÖ¶¯½âѹµ½Ä¿±êλÖ᣿ÉÒÔÔÚ±¾ÎÄµÄ ²Î¿¼×ÊÁÏ ²¿·ÖÕÒµ½¸Ã³ÌÐò°üµÄÖ÷Ò³ÒÔ¼°ÕýÔÚ¿ª·¢°æ±¾µÄÁ´½Ó¡£ÐèҪעÒâµÄÊÇÊÖ¹¤°²×°Ö®Ç°±ØÐë¶Ô PEAR ³ÌÐò°üµÄ×éÖ¯½á¹¹ÓÐËùÁ˽⡣
×îºóÒ»µãÒªÇó£ºXJConf for PHP ÐèÒªÆôÓà PHP µÄ xmlreader À©Õ¹¡£PHP 5.1.0 »òÒÔÉϰ汾ĬÈÏ
Ïà¹ØÎĵµ£º
Ò»°ãÐÂÊÖͨ³£Ö»ÊÇʹÓÃÀàËÆµÄXerces,
TinyXMLÖ®ÀàµÄXML½âÎöxml£¬ÕâÖÖ·½Ê½Êµ¼ÊÉϺÜÀË·Ñʱ¼ä£¬×Ô¼º±àдºÜ¶à´úÂëÒ²ÈÝÒ׳ö´í¡£ÒòΪ£¬ËûÃǾ³£ÒªÐ´Ò»¸öXML¶ÔÏóEntityµÄÀ࣬²¢¸½×ÅÒ»¶Ñ¶ÔÏó½âÎöµÄcode¡£¹¤×÷Á¿±È½Ï´ó¡£Ê¹ÓÃXML
Schema¹¤¾ß£¬XSDÉè¼Æ¹¤¾ß£¬È»ºóͨ¹ý¹¤¾ßÉú³ÉEntityClassºÍPaser
class¡£ÎÒ²»ÖªµÀÕâÖÖ¼¼ÊõÈ·ÇÐµÄÆðÔ ......
ΪÁËÉîÈëÁ˽âPHP£¬ÒÔ¼°¸ü¼Ó±ãÀûµÄʹÓÃPHPΪÎÒÃÇ·þÎñ£¬±¾Õ½ÚÖ÷Òª½éÉÜPHPµÄ»ù±¾Óï·¨¡£
Ò»¡¢´ÓHTMLÖзÖÀë
PHP µÄ½Å±¾ÓÉÎļþÖÐÒ»¶ÔÌØÊâµÄ±ê¼ÇËùÒýÆðµÄÄÚÈÝ£¬µ±½âÊÍÆ÷·ÖÎöÒ»¸öÎļþʱ£¬ËùÓÐÌØÊâ±ê¼ÇÍâµÄÆÕͨÎļþ£¬½âÊÍÆ÷²»¶ÔÆä×öÈκδ¦Àí£¬¶øÌØÊâ±ê¼ÇÄÚÎļþ½«×÷Ϊ PHP ´úÂë±»½âÊÍÆ÷·ÖÎöÖ´ÐС£¸ÃÔËÐлúÖÆ½«ÔÊÐíÄúÔÚ HTML ÖÐǶÈë ......
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);
......