PHP网页设计PHP 操作 XML 文件:读取、显示
毕业设计作品自己个人还是觉得比较满意的,尽管有些功能考虑的不全面,也没有很好的实现。 本例中的php文件读取、显示xml文件内容以下为php文件的内容,把该php文件和slashdot.xml放在统一个文件夹便可
<?php
$open_tags = array(
'STORY' => '<STORY>',
'TITLE' => '<TITLE>',
'URL' => '<URL>',
'AUTHOR'=> '<AUTHOR>'
);
$close_tags = array(
'STORY' => '</STORY>',
'TITLE' => '</TITLE>',
'URL' => '</URL>',
'AUTHOR'=> '</AUTHOR>'
);
?>
<?php
//上面就是界说函数来提取数据:
// 处置入手下手标志的属性指
// $attrs是一个多维数组,键值为属性名, 值就是该属性的值
function startElement($parser, $name, $attrs=''){
global $open_tags, $temp, $current_tag;
$current_tag = $name;
if ($format = $open_tags[$name]){
switch($name){
case 'STORY':
echo '新的故事: ';
break;
default:
break;
}
}
}
// $current_tag告知咱们正在处置的标志,咱们随后会在characterData函数中利用
//
// 当碰到</STORY>标志时咱们晓得要flush一切的一时变量筹办操作下一个标志
<lt;/STORY>',
'TITLE' => '</TITLE>',
'URL' => '</URL>',
'AUTHOR'=> '</AUTHOR>'
);
?>
<?php
//上面就是界说函数来提取数据:
// 处置入手下手标志的属性指
// $attrs是一个多维数组,键值为属性名, 值就是该属性的值
function startElement($parser, $name, $attrs=''){
global $open_tags, $temp, $current_tag;
$current_tag = $name;
if ($format = $open_tags[$name]){
switch($name){
case 'STORY':
echo '新的故事: ';
break;
default:
break;
}
}
}
// $current_tag告知咱们正在处置的标志,咱们随后会在characterData函数中利用
//
// 当碰到</STORY>标志时咱们晓得要flush一切的一时变量筹办操作下一个标志
function endElement($parser, $name, $attrs=''){
global $close_tags, $temp, $current_tag;
if ($format = $close_tags[$name]){
switch($name){
case 'STORY':
return_page($temp);
$temp = '';
break;
default:
break;
}
}
}
// 传送给此函数的是元素间的数据
// 例如,对<TITLE>Title Here</TITLE>,$data就等于'Title Here'
function characterData($parser, $data){
global $current_tag, $temp, $catID;
switch($current_tag){
case 'TITLE':
$temp['title'] = $data;
$current_tag = '';
break;
case 'URL':
$temp['url'] = $data;
$current_tag = '';
break;
case 'AUTHOR':
$temp['author'] = $data;
$current_tag = '';
default:
break;
}
}
?>
<?php
function return_page(){
global $temp;
echo 'o <A HREF="'.$temp['url'].'">'.$temp['title'].'</A><BR>';
echo 'Author:'.$temp['author'].'<BR>';
echo '-----------------------------';
echo '<br>';
}
// 剖析的内容
$xml_file = 'slashdot.xml';
// 界说字符集,默许是UTF-8
$type = 'UTF-8';
// 创立解析器
$xml_parser = xml_parser_create($type);
// 设置解析选项
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
// 告知PHP发明元素时要挪用甚么函数
// 这些函数同时也处置元素的属性
xml_set_element_handler($xml_parser, 'startElement','endElement');
//告知PHP对字符数据挪用甚么函数
xml_set_character_data_handler($xml_parser, 'characterData');
if (!($fp = fopen($xml_file, 'r'))) {
die("没法翻开 $xml_file 文件停止解析!n");
}
// 经由过程轮回来解析全部文件
while ($data = fread($fp, 4096)) {
if (!($data = utf8_encode($data))) {
echo 'ERROR'."n";
}
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf( "XML error: %s at line %dnn",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 兴趣是最好的老师,百度是最好的词典。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 当然这种网站的会员费就几十块钱。 Ps:以上纯属原创,如有雷同,纯属巧合 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
页:
[1]