xml地图|网站地图|网站标签 [设为首页] [加入收藏]
PHP XML Expat Parser【宝马娱乐在线网址】
分类:网络频道

如果您想了解更多有关XML ,请访问我们的XML指南。   

有两个基本类型的XML解析器:

XML是什么?
XML是用来描述数据并把重点放在什么样的数据是。一个XML文件描述的结构数据。

的W3C DOM分为不同部分(核心, XML和HTML )和不同层次( 1/2/3级的DOM ) :

PHP XML Expat Parser

树为基础的剖析:这分析器转换XML文件成一个树状结构。分析了整个文件,并提供进入树要素
基于事件的剖析:观XML文件的一系列活动。当某一特定事件发生时,它要求一个函数来处理它
在DOM解析器是一个树为基础的剖析。

基于事件的解析器重点内容的XML文件,而不是其结构。正因为如此,基于事件的剖析器可以存取数据速度快于树为基础的解析器。

内置的DOM解析器可以处理XML文档在PHP 。  

看看下面的XML部分:

*核心的DOM 定义一套标准的对象结构的任何文件
*的XML的DOM 定义一套标准的对象的X ML文件
*的HTML的DOM 定义一套标准的对象为H TML文件

什么是外籍人士?
要阅读和更新-创建和操纵-一个XM L文件,您需要一个XM L解析器。

安装
的DOM XML解析器职能是PHP核心的一部分。没有安装即可使用这些功能。

在XML中,没有预先确定的标记。你必须定义自己的标记。

如果您想了解更多有关的XML的DOM ,请访问我们的XML的DOM教程。  

<from>Jani</from>

一种基于事件的剖析报告的XML上述一系列三项活动: 

开始元素:从 
资料,一节开始,价值:贾尼 
关闭内容:从 
在上述范例的XML包含格式良好的XML 。然而,例如不能有效的XML ,因为没有任何文档类型定义( DTD的)与此相关。 

然而,这并没有差异时,使用外籍分析器。外籍人士是一个非验证剖析,并忽略任何DTDs 。 

作为一个基于事件的,非验证XML分析器,外籍速度快,小,适合PHP的Web应用。 

注: XML文件必须有充分的形成或外籍人士将产生一个错误。 




安装 
外籍人士的XML解析器职能是PHP核心的一部分。没有安装即可使用这些功能。 




一个XML文件 
XML档案下文将用于我们的榜样<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

 

初始化XML解析器
我们要初始化XML解析器在PHP中,确定了不同的处理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: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

 

它的原理就是: 

初始化XML分析器与xml_parser_create ( )函数
创建职能,使用不同的事件处理程序
新增xml_set_element_handler ( )函数来指定哪些功能将被处死时,解析器遇到开幕式和闭幕式标签
新增xml_set_character_data_handler ( )函数来指定哪些功能将执行时遇到的分析器字符数据
解析文件“ test.xml ”的xml_parse ( )函数
如果在一个错误,新增xml_error_string ( )函数来转换XML错误的文字说明
呼叫xml_parser_free ( )函数来释放分配的内存与xml_parser_create ( )函数转载请注明来自:  www.111cn.net/phper/php.html   

 

本文由宝马娱乐在线发布于网络频道,转载请注明出处:PHP XML Expat Parser【宝马娱乐在线网址】

上一篇:PHP生成XML格式数据与解析xml数据程序宝马娱乐在 下一篇:PHP宝马娱乐在线网址 simplexml使用方法详解
猜你喜欢
热门排行
精彩图文