Home  >  Article  >  Backend Development  >  PHP XML file interpretation class application example, phpxml class application example_PHP tutorial

PHP XML file interpretation class application example, phpxml class application example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:18:28936browse

PHP’s XML file interpretation application example, phpxml application example

The example in this article describes PHP's XML file interpretation class and its usage, which is a very practical technique. Share it with everyone for your reference. The details are as follows:

XMLParser.class.php class file is as follows:

<&#63;php 
/** XML 文件分析类 
*  Date:  2013-02-01 
*  Author: fdipzone 
*  Ver:  1.0 
* 
*  func: 
*  loadXmlFile($xmlfile)   读入xml文件输出Array 
*  loadXmlString($xmlstring) 读入xmlstring 输出Array 
*/ 
 
class XMLParser{ 
 
  /** 读取xml文件 
  * @param String $xmlfile 
  * @return Array 
  */ 
  public function loadXmlFile($xmlfile){ 
    // get xmlfile content 
    $xmlstring = file_exists($xmlfile)&#63; file_get_contents($xmlfile) : ''; 
    // parser xml 
    list($flag, $data) = $this->parser($xmlstring); 
    return $this->response($flag, $data); 
  } 
 
  /** 读取xmlstring 
  * @param String $xmlstring 
  * @return Array 
  */ 
  public function loadXmlString($xmlstring){ 
    // parser xml 
    list($flag, $data) = $this->parser($xmlstring); 
    return $this->response($flag, $data); 
  } 
 
  /** 解释xml内容 
  * @param  String $xmlstring 
  * @return Array 
  */ 
  private function parser($xmlstring){ 
    $flag = false; 
    $data = array(); 
    // check xml format 
    if($this->checkXmlFormat($xmlstring)){ 
      $flag = true; 
      // xml to object 
      $data = simpleXML_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA); 
      // object to array 
      $this->objectToArray($data); 
    } 
    return array($flag, $data); 
  } 
 
  /** 检查xml格式是否正确 
  * @param String $xmlstring 
  * @return boolean 
  */ 
  private function checkXmlFormat($xmlstring){ 
    if($xmlstring==''){ 
      return false; 
    } 
    $xml_parser_obj = xml_parser_create(); 
 
    if(xml_parse_into_struct($xml_parser_obj, $xmlstring, $vals, $indexs)===1){ // 1:success 0:fail 
      return true; 
    }else{ 
      return false; 
    } 
  } 
 
  /** object 转 Array 
  * @param object $object 
  * @return Array 
  */ 
  private function objectToArray(&$object){ 
     
    $object = (array)$object; 
     
    foreach($object as $key => $value){ 
      if($value==''){ 
        $object[$key] = ""; 
      }else{ 
        if(is_object($value) || is_array($value)){ 
          $this->objectToArray($value); 
          $object[$key] = $value; 
        } 
      } 
    } 
  } 
 
  /** 输出返回 
  * @param boolean $flag true:false 
  * @param Array  $data 转换后的数据 
  * @return Array 
  */ 
  private function response($flag=false, $data=array()){ 
    return array($flag, $data); 
  } 
} 
&#63;>

Demo sample program is as follows:

<&#63;php 
require "XMLParser.class.php"; 
 
$xmlfile = 'file.xml'; 
$xmlstring = '<&#63;xml version="1.0" encoding="utf-8"&#63;> 
<xmlroot> 
<status>1000</status> 
<info></info> 
<result><id>100</id> 
<name>fdipzone</name> 
<gender>1</gender> 
<age>28</age> 
</result> 
</xmlroot>'; 
echo '<pre class="brush:php;toolbar:false">'; 
$xml_parser = new XMLParser(); 
echo "response xmlfile\r\n"; 
list($flag, $xmldata) = $xml_parser->loadXmlFile($xmlfile); 
if($flag){ 
  print_r($xmldata); 
} 
echo "response xmlstring\r\n"; 
list($flag, $xmldata) = $xml_parser->loadXmlString($xmlstring); 
if($flag){ 
  print_r($xmldata); 
} 
echo '
'; ?>

For information about PHP’s XML predefined constants, please refer to the official documentation:
http://www.php.net/manual/en/libxml.constants.php

I hope this article will be helpful to everyone’s learning of PHP programming.

How to generate xml file in php

7ce5e5a8ee6a1d26db29415dec98a169createElement('newmodule');// root node
$dom->appendChild($module);

$year=$dom ->createElement('year'); // add attribute node
$name=$dom->createAttribute('name');
$name->nodeValue="Latest News";
$year->setAttributeNode($name);
$module->appendChild($year);

$news=$dom->createElement('news');
$year->appendChild($news);

$date=$dom->createElement('date');
$date_value=$dom->createTextNode('01-24' );
$date->appendChild($date_value);
$news->appendChild($date);

$title=$dom->createElement('title') ;
$title_value=$dom->createTextNode('b58cad771cc59a43d3c290316a537166');
$title->appendChild($title_value);
$news- >appendChild($title);

$info=$dom->createElement('info');
$info_value=$dom->createTextNode('1222b2605e3710fda17c0b5c234bc256');
$ info->appendChild($info_value);
$news->appendChild($info);

echo $dom->saveXML();
$dom->save( $path);
?>

Read xml content in php file

3dc475eaf8c104f7235b48ac9ae32e92"
next
response.write "0c6dc11e160d3b678d68754cc175188a"
next

Set objAtr=Nothing
Set objNode=Nothing
Set xml=Nothing
%>
Reference: homepage.yesky.com/369/3074869.shtml

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/882903.htmlTechArticlePHP’s XML file interpretation class application example, phpxml class application example This article describes php’s XML file interpretation class and Its usage is a very practical skill. Share it with everyone for your reference. Tool...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn