PHP XML Expat ½âÎöÆ÷

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

ʲôÊÇ XML£¿

XML ÓÃÓÚÃèÊöÊý¾Ý£¬Æä½¹µãÊÇÊý¾ÝÊÇʲô¡£XML ÎļþÃèÊöÁËÊý¾ÝµÄ½á¹¹¡£

ÔÚ XML ÖУ¬Ã»ÓÐÔ¤¶¨ÒåµÄ±êÇ©¡£Äú±ØÐ붨Òå×Ô¼ºµÄ±êÇ©¡£

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

ʲôÊÇ Expat£¿

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

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

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

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

»ùÓÚʼþµÄ½âÎöÆ÷¼¯ÖÐÔÚ XML ÎĵµµÄÄÚÈÝ£¬¶ø²»ÊÇËüÃǵĽá¹û¡£ÕýÒòÈç´Ë£¬»ùÓÚʼþµÄ½âÎöÆ÷Äܹ»±È»ùÓÚÊ÷µÄ½âÎöÆ÷¸ü¿ìµØ·ÃÎÊÊý¾Ý¡£

Çë¿´ÏÂÃæµÄ XML Ƭ¶Î£º

<from>John</from>

»ùÓÚʼþµÄ½âÎöÆ÷°ÑÉÏÃæµÄ XML ±¨¸æÎªÒ»Á¬´®µÄÈý¸öʼþ£º

  • ¿ªÊ¼ÔªËØ£ºfrom
  • ¿ªÊ¼ CDATA ²¿·Ö, Öµ£ºJohn
  • ¹Ø±ÕÔªËØ£º from

ÉÏÃæµÄ XML ·¶Àý°üº¬ÁËÐÎʽÁ¼ºÃµÄ XML¡£²»¹ýÕâ¸öÀý×ÓÊÇÎÞЧµÄ XML£¬ÒòΪûÓÐÓëËü¹ØÁªµÄÎĵµÀàÐÍÉùÃ÷ (DTD)£¬Ò²Ã»ÓÐÄÚǶµÄ DTD¡£

²»¹ý£¬ÔÚʹÓà Expat ½âÎöÆ÷ʱ£¬ÕâûÓÐÇø±ð¡£Expat ÊDz»¼ì²éÓÐЧÐԵĽâÎöÆ÷£¬ºöÂÔÈκΠDTD¡£

×÷Ϊһ¿î»ùÓÚʼþ¡¢·ÇÑéÖ¤µÄ XML ½âÎöÆ÷£¬Expat ¿ìËÙÇÒÇáÇÉ£¬Ê®·ÖÊÊºÏ PHP µÄ web Ó¦ÓóÌÐò¡£

×¢ÊÍ£ºXML Îĵµ±ØÐëÐÎʽÁ¼ºÃ£¬·ñÔò Expat »áÉú³É´íÎó¡£

°²×°

XML Expat ½âÎöÆ÷ÊÇ 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 ½âÎöÆ÷

ÎÒÃÇÒªÔÚ PHP Öгõʼ»¯ XML ½âÎöÆ÷£¬Îª²»Í¬µÄ XML ʼþ¶¨Òå´¦ÀíÆ÷£¬È»ºó½âÎöÕâ¸ö XML Îļþ¡£

Àý×Ó

<?php

//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Note --<br />";
    break; 
    case "TO":
    echo "To: ";
    break; 
    case "FROM":
    echo "From: ";
    break; 
    case "HEADING":
    echo "Heading: ";
    break; 
    case "BODY":
    echo "Message: ";
    }
  }

//Function to use at the end of an element
function stop($parser,$element_name)
  {
  echo "<br />";
  }

//Function to use when finding character data
function char($parser,$data)
  {
  echo $data;
  }

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("test.xml","r");

//Read data
while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or 
  die (sprintf("XML Error: %s at line %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

//Free the XML parser
xml_parser_free($parser);

?>

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

-- Note --
To: George
From: John
Heading: Reminder
Message: Don't forget the meeting!

¹¤×÷Ô­Àí½âÊÍ£º

  • ͨ¹ý xml_parser_create() º¯Êý³õʼ»¯ XML ½âÎöÆ÷
  • ´´½¨ÅäºÏ²»Í¬Ê¼þ´¦Àí³ÌÐòµÄµÄº¯Êý
  • Ìí¼Ó xml_set_element_handler() º¯ÊýÀ´¶¨Ò壬µ±½âÎöÆ÷Óöµ½¿ªÊ¼ºÍ½áÊø±êǩʱִÐÐÄĸöº¯Êý
  • Ìí¼Ó xml_set_character_data_handler() º¯ÊýÀ´¶¨Ò壬µ±½âÎöÆ÷Óöµ½×Ö·ûÊý¾ÝʱִÐÐÄĸöº¯Êý
  • ͨ¹ý xml_parse() º¯ÊýÀ´½âÎöÎļþ "test.xml"
  • ÍòÒ»ÓдíÎóµÄ»°£¬Ìí¼Ó xml_error_string() º¯Êý°Ñ XML ´íÎóת»»ÎªÎı¾ËµÃ÷
  • µ÷Óà xml_parser_free() º¯ÊýÀ´ÊÍ·Å·ÖÅ䏸 xml_parser_create() º¯ÊýµÄÄÚ´æ

¸ü¶à PHP Expat ½âÎöÆ÷µÄÐÅÏ¢

ÈçÐè¸ü¶àÓÐ¹Ø PHP Expat º¯ÊýµÄÐÅÏ¢£¬Çë·ÃÎÊÎÒÃÇµÄ PHP XML Parser ²Î¿¼Êֲᡣ

VUE