PHP XML DOM

ÄÚ½¨µÄ DOM ½âÎöÆ÷ʹÔÚ PHP Öд¦Àí XML Îĵµ³ÉΪ¿ÉÄÜ¡£

ʲôÊÇ DOM£¿

W3C DOM ÌṩÁËÕë¶Ô HTML ºÍ XML ÎĵµµÄ±ê×¼¶ÔÏ󼯣¬ÒÔ¼°ÓÃÓÚ·ÃÎʺͲÙ×÷ÕâЩÎĵµµÄ±ê×¼½Ó¿Ú¡£

W3C DOM ±»·ÖΪ²»Í¬µÄ²¿·Ö (Core, XML ºÍ HTML) ºÍ²»Í¬µÄ¼¶±ð (DOM Level 1/2/3)£º

  • Core DOM - ΪÈκνṹ»¯Îĵµ¶¨Òå±ê×¼µÄ¶ÔÏó¼¯
  • XML DOM - Ϊ XML Îĵµ¶¨Òå±ê×¼µÄ¶ÔÏó¼¯
  • HTML DOM - Ϊ HTML Îĵµ¶¨Òå±ê×¼µÄ¶ÔÏó¼¯

Èç¹ûÄúÏ£Íûѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ֪ʶ£¬Çë·ÃÎÊÎÒÃÇµÄ XML DOM ½Ì³Ì¡£

XML ½âÎö

ÈçÐè¶ÁÈ¡ºÍ¸üР- ´´½¨´´½¨²¢´¦Àí - Ò»¸ö XML Îĵµ£¬ÄúÐèÒª XML ½âÎöÆ÷¡£

ÓÐÁ½ÖÖ»ù±¾µÄ XML ½âÎöÆ÷ÀàÐÍ£º

  • »ùÓÚÊ÷µÄ½âÎöÆ÷£ºÕâÖÖ½âÎöÆ÷°Ñ XML Îĵµ×ª»»ÎªÊ÷Ðͽṹ¡£Ëü·ÖÎöÕûƪÎĵµ£¬²¢ÌṩÁË API À´·ÃÎÊÊ÷ÖÖµÄÔªËØ£¬ÀýÈçÎĵµ¶ÔÏóÄ£ÐÍ (DOM)¡£
  • »ùÓÚʼþµÄ½âÎöÆ÷£º½« XML ÎĵµÊÓΪһϵÁеÄʼþ¡£µ±Ä³¸ö¾ßÌåµÄʼþ·¢Éúʱ£¬½âÎöÆ÷»áµ÷Óú¯ÊýÀ´´¦Àí¡£

DOM ½âÎöÆ÷ÊÇ»ùÓÚÊ÷µÄ½âÎöÆ÷¡£

Çë¿´ÏÂÃæµÄ XML ÎĵµÆ¬¶Î£º

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>John</from>

XML DOM °Ñ XML ÊÓΪһ¸öÊ÷Ðνṹ£º

  • Level 1: XML Îĵµ
  • Level 2: ¸ùÔªËØ: <from>
  • Level 3: Îı¾ÔªËØ: "John"

°²×°

DOM XML ½âÎöÆ÷º¯ÊýÊÇ PHP ºËÐĵÄ×é³É²¿·Ö¡£ÎÞÐè°²×°¾Í¿ÉÒÔʹÓÃÕâЩº¯Êý¡£

XML Îļþ

½«ÔÚÎÒÃǵÄÀý×ÓÖÐʹÓÃÏÂÃæµÄ XML Îļþ£º

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

¼ÓÔØºÍÊä³ö XML

ÎÒÃÇÐèÒª³õʼ»¯ XML ½âÎöÆ÷£¬¼ÓÔØ XML£¬²¢°ÑËüÊä³ö£º

Àý×Ó

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

ÒÔÉÏ´úÂëµÄÊä³ö£º

George John Reminder Don't forget the meeting!

¼ÙÈçÄúÔÚä¯ÀÀÆ÷´°¿ÚÖв鿴Դ´úÂ룬»á¿´µ½ÏÂÃæÕâЩ HTML£º

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

ÉÏÃæµÄÀý×Ó´´½¨ÁËÒ»¸ö DOMDocument-Object£¬²¢°Ñ "note.xml" ÖÐµÄ XML ÔØÈëÕâ¸öÎĵµ¶ÔÏóÖС£

saveXML() º¯Êý°ÑÄÚ²¿ XML Îĵµ·ÅÈëÒ»¸ö×Ö·û´®£¬ÕâÑùÎÒÃǾͿÉÒÔÊä³öËü¡£

Ñ­»· XML

ÎÒÃÇÒª³õʼ»¯ XML ½âÎöÆ÷£¬¼ÓÔØ XML£¬²¢Ñ­»· <note> ÔªËØµÄËùÓÐÔªËØ£º

Àý×Ó

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
  {
  print $item->nodeName . " = " . $item->nodeValue . "<br />";
  }
?>

ÒÔÉÏ´úÂëµÄÊä³ö£º

#text = 
to = George
#text = 
from = John
#text = 
heading = Reminder
#text = 
body = Don't forget the meeting!
#text = 

ÔÚÉÏÃæµÄÀý×ÓÖУ¬Äú¿´µ½ÁËÿ¸öÔªËØÖ®¼ä´æÔÚ¿ÕµÄÎı¾½Úµã¡£

µ± XML Éú³Éʱ£¬Ëüͨ³£»áÔÚ½ÚµãÖ®¼ä°üº¬¿Õ°×¡£XML DOM ½âÎöÆ÷°ÑËüÃǵ±×÷ÆÕͨµÄÔªËØ£¬Èç¹ûÄú²»×¢ÒâËüÃÇ£¬ÓÐʱ»á²úÉúÎÊÌâ¡£

Èç¹ûÄúÏ£Íûѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ֪ʶ£¬Çë·ÃÎÊÎÒÃÇµÄ XML DOM ½Ì³Ì¡£

VUE