<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FSAX</id>
		<title>PHP/XML/SAX - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FSAX"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/SAX&amp;action=history"/>
		<updated>2026-04-05T12:28:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/SAX&amp;diff=1610&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/SAX&amp;diff=1610&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/SAX&amp;diff=1611&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/SAX&amp;diff=1611&amp;oldid=prev"/>
				<updated>2010-05-26T07:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A simple XML parser==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$file = &amp;quot;contact.xml&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
function startElement($parser, $name, $attrs) {&lt;br /&gt;
    print &amp;quot;&amp;lt;B&amp;gt;$name =&amp;gt;&amp;lt;/B&amp;gt;  &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
function endElement($parser, $name) {&lt;br /&gt;
    print &amp;quot;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
function characterData($parser, $value) {&lt;br /&gt;
    print &amp;quot;$value&amp;lt;BR&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
$simpleparser = xml_parser_create();&lt;br /&gt;
xml_set_element_handler($simpleparser, &amp;quot;startElement&amp;quot;, &amp;quot;endElement&amp;quot;);&lt;br /&gt;
xml_set_character_data_handler($simpleparser, &amp;quot;characterData&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
if (!($fp = fopen($file, &amp;quot;r&amp;quot;))) {&lt;br /&gt;
  die(&amp;quot;could not open XML input&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
while($data = fread($fp, filesize($file))) {&lt;br /&gt;
  if (!xml_parse($simpleparser, $data, feof($fp))) {&lt;br /&gt;
     die(xml_error_string(xml_get_error_code($simpleparser)));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
xml_parser_free($simpleparser);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;contact id=&amp;quot;43956&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;personal&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;&lt;br /&gt;
               &amp;lt;first&amp;gt;J&amp;lt;/first&amp;gt;&lt;br /&gt;
               &amp;lt;middle&amp;gt;J&amp;lt;/middle&amp;gt;&lt;br /&gt;
               &amp;lt;last&amp;gt;J&amp;lt;/last&amp;gt;&lt;br /&gt;
          &amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Manager&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;employer&amp;gt;National Company&amp;lt;/employer&amp;gt;&lt;br /&gt;
          &amp;lt;dob&amp;gt;1951-02-02&amp;lt;/dob&amp;gt;&lt;br /&gt;
     &amp;lt;/personal&amp;gt;&lt;br /&gt;
&amp;lt;/contact&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SAX parser in action==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
function start_element($parser, $element_name, $element_attrs) {&lt;br /&gt;
  switch ($element_name) {&lt;br /&gt;
    case &amp;quot;KEYWORDS&amp;quot;:&lt;br /&gt;
       echo &amp;quot;&amp;lt;h1&amp;gt;Keywords&amp;lt;/h1&amp;gt;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;
       break;&lt;br /&gt;
    case &amp;quot;KEYWORD&amp;quot;:&lt;br /&gt;
       echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
       break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
function end_element($parser, $element_name) {&lt;br /&gt;
  switch ($element_name) {&lt;br /&gt;
    case &amp;quot;KEYWORDS&amp;quot;:&lt;br /&gt;
       echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
       break;&lt;br /&gt;
    case &amp;quot;KEYWORD&amp;quot;:&lt;br /&gt;
       echo &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
       break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function character_data($parser, $data) {&lt;br /&gt;
  echo htmlentities($data);&lt;br /&gt;
}&lt;br /&gt;
$parser = xml_parser_create();&lt;br /&gt;
xml_set_element_handler($parser, &amp;quot;start_element&amp;quot;, &amp;quot;end_element&amp;quot;);&lt;br /&gt;
xml_set_character_data_handler($parser, &amp;quot;character_data&amp;quot;);&lt;br /&gt;
$fp = fopen(&amp;quot;keyword-data.xml&amp;quot;, &amp;quot;r&amp;quot;)&lt;br /&gt;
    or die (&amp;quot;Cannot open keyword-data.xml!&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
while ($data = fread($fp, 4096)) {&lt;br /&gt;
  xml_parse($parser, $data, feof($fp)) or &lt;br /&gt;
    die(sprintf(&amp;quot;XML ERROR: %s at line %d&amp;quot;,&lt;br /&gt;
        xml_error_string(xml_get_error_code($parser)),&lt;br /&gt;
        xml_get_current_line_number($parser)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
xml_parser_free($parser);    &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- keyword-data.xml&lt;br /&gt;
&amp;lt;keywords&amp;gt;&lt;br /&gt;
  &amp;lt;keyword&amp;gt;XML&amp;lt;/keyword&amp;gt;&lt;br /&gt;
  &amp;lt;keyword&amp;gt;PHP&amp;lt;/keyword&amp;gt;&lt;br /&gt;
  &amp;lt;keyword&amp;gt;Perl&amp;lt;/keyword&amp;gt;&lt;br /&gt;
  &amp;lt;keyword&amp;gt;JavaScript&amp;lt;/keyword&amp;gt;&lt;br /&gt;
  &amp;lt;keyword&amp;gt;ASP&amp;lt;/keyword&amp;gt;&lt;br /&gt;
&amp;lt;/keywords&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Turning an XML Document into an Array==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;contact id=&amp;quot;43956&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;personal&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;&lt;br /&gt;
               &amp;lt;first&amp;gt;J&amp;lt;/first&amp;gt;&lt;br /&gt;
               &amp;lt;middle&amp;gt;J&amp;lt;/middle&amp;gt;&lt;br /&gt;
               &amp;lt;last&amp;gt;J&amp;lt;/last&amp;gt;&lt;br /&gt;
          &amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;Manager&amp;lt;/title&amp;gt;&lt;br /&gt;
          &amp;lt;employer&amp;gt;National&amp;lt;/employer&amp;gt;&lt;br /&gt;
          &amp;lt;dob&amp;gt;1971-12-22&amp;lt;/dob&amp;gt;&lt;br /&gt;
     &amp;lt;/personal&amp;gt;&lt;br /&gt;
&amp;lt;/contact&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
     $cdata = &amp;quot;&amp;quot;;&lt;br /&gt;
     $contact_id = -1;&lt;br /&gt;
     $contacts = null;&lt;br /&gt;
   &lt;br /&gt;
     function start_elem ($parser, $name, $attrs) {&lt;br /&gt;
          global $contact_id;&lt;br /&gt;
          if ($name == &amp;quot;contact&amp;quot;) {&lt;br /&gt;
               $contact_id = $attrs[&amp;quot;id&amp;quot;];&lt;br /&gt;
               $contacts[$contact_id] = array();&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     function end_elem ($parser, $name) {&lt;br /&gt;
          global $cdata, $contacts, $contact_id;&lt;br /&gt;
          switch ($name)&lt;br /&gt;
          {&lt;br /&gt;
               case (&amp;quot;first&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;name&amp;quot;][&amp;quot;first&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
               case (&amp;quot;last&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;name&amp;quot;][&amp;quot;last&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
               case (&amp;quot;middle&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;name&amp;quot;][&amp;quot;middle&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
               case (&amp;quot;title&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;title&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
               case (&amp;quot;employer&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;employer&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
               case (&amp;quot;dob&amp;quot;):&lt;br /&gt;
                    $contacts[$contact_id][&amp;quot;dob&amp;quot;] = $cdata; &lt;br /&gt;
                    break;&lt;br /&gt;
          }&lt;br /&gt;
          $cdata = &amp;quot;&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     function cdata ($parser, $data) {&lt;br /&gt;
          global $cdata;&lt;br /&gt;
          $cdata .= trim ($data);&lt;br /&gt;
     }&lt;br /&gt;
     $file = &amp;quot;contact.xml&amp;quot;;&lt;br /&gt;
     $parser = xml_parser_create ();&lt;br /&gt;
     xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, false);&lt;br /&gt;
     xml_set_element_handler ($parser, &amp;quot;start_elem&amp;quot;, &amp;quot;end_elem&amp;quot;);&lt;br /&gt;
     xml_set_character_data_handler ($parser, &amp;quot;cdata&amp;quot;);&lt;br /&gt;
     $fp = fopen ($file, &amp;quot;r&amp;quot;);&lt;br /&gt;
     if (!$fp){&lt;br /&gt;
          die (&amp;quot;Couldn&amp;quot;t open $file for reading&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     while ($xml_input = fread ($fp, 2048)) {&lt;br /&gt;
          $ok = xml_parse ($parser, $xml_input, feof ($fp));&lt;br /&gt;
          if (!$ok){&lt;br /&gt;
               die (sprintf (&amp;quot;Error in $file: &amp;quot;%s&amp;quot; at line %d&amp;quot;,&lt;br /&gt;
                             xml_error_string (xml_get_error_code ($parser)),&lt;br /&gt;
                             xml_get_current_line_number ($parser)));&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     xml_parser_free ($parser);&lt;br /&gt;
     print (&amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;);&lt;br /&gt;
     print_r ($contacts);&lt;br /&gt;
     print (&amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>