⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml.php

📁 PHP4_0入门与提高源程序代码
💻 PHP
字号:
<?php
$file = "data.xml";	//需要处理的xml文件名称
$depth = array();	//定义一个数组

/****************************************
function:	标记开始回调函数
$param:	$parser	xml解析器名称
$param:	$name	标记名称
$param:	$attrs	标记属性
****************************************/
function startElement($parser, $name, $attrs) {
    global $depth;
	//需要缩进的空格数目
    for ($i = 0; $i < $depth[$parser]; $i++) {
        print "  ";
    }
    print "$name\n";
    $depth[$parser]++;
}

/*********************************
function:	结束标记回调函数
$param:	$parser	xml解析器名称
$param:	$name	标记名称
*********************************/
function endElement($parser, $name) {
    global $depth;
    $depth[$parser]--;	//减少缩进的空格数
}

$xml_parser = xml_parser_create();	//创建一个xml解析器
xml_set_element_handler($xml_parser, "startElement", "endElement");	//设定标记回调
//函数
//打开一个文件
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}
//读取文件中的内容
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {	//处理xml文档的内容
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);	//释放与$xml_parser处理器相关的所有内存资源
?>
	如果以下面的XML文件为例子,输出的结果如图13-1所示。
data.xml:
<?xml version="1.0"?>
<!--
     @(#) $Header: /cvsroot/PHPlibrary/example.xml,v 1.1 1999/07/07 04:13:19 mlemos Exp $
  -->
<CONTENTS>
<HEADER>
<TITLECONTENT>transfered</TITLECONTENT>
</HEADER>
<OBJECT>
 <LINE>
    <CELL>function name</CELL>
    <CELL>explanation</CELL>
  </LINE>
  <LINE>
    <CELL>echo</CELL>
    <CELL>return the content of a variable</CELL>
  </LINE>
</OBJECT>
</CONTENTS>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -