仓酷云

标题: PHP网页编程之经由过程php来读取xml的数据 [打印本页]

作者: 冷月葬花魂    时间: 2015-2-3 23:53
标题: PHP网页编程之经由过程php来读取xml的数据
建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。   明天任务上碰着一个成绩 因为咱们的项目数据太少 所以需求从web search何处借调数据,他们只给咱们供应了一个xml的接口。因而,咱们需求把xml的数据转化成html出现给人人。因为项目是基于php的,所以就摒弃了用js来读取xml选择了持续利用php。不外,我之前历来没有做过此类的测验考试 所以找了良多网上材料同时参照了php的任务手册,发明在php4的情况下 用parser函数是一个对照好的选择(固然也能够用dom 然而需求对办事重视新停止设置装备摆设 php5对dom撑持得对照好)。
固然之前没有接触过此类成绩,然而仍是很快就处理了,不外在处理和探索的过程当中发明网上关于此类的材料固然很多,然而良莠不齐,良多描写不是很具体,仍是操作手册对照管用。
好了,言归正传:
parser是php内置的一个用来处置xml的解析器,它的任务由三个事务构成:肇端标签、 读取数据、停止标签。
也就是说在对xml停止处置的时分每当碰到肇端标签、数据和停止标签的时分函数会做响应的举措来完成对xml数据的转换。
php中对xml读取的相干函数的引见:
援用:
------------------------------------------------------------------
对象 XML解析函数 描写
元素 xml_set_element_handler() 元素的入手下手和停止
字符数据 xml_set_character_data_handler() 字符数据的入手下手
内部实体 xml_set_external_entity_ref_handler() 内部实体呈现
未解析内部实体 xml_set_unparsed_entity_decl_handler() 未解析的内部实体呈现
处置指令 xml_set_processing_instruction_handler() 处置指令的呈现
记法声明 xml_set_notation_decl_handler() 记法声明的呈现
默许 xml_set_default_handler() 其它没有指定处置函数的事务

-------------------------------------------------------------------
上面就给人人举一个小小的例子用parser函数来读取xml数据:
  
<?php
$parser = xml_parser_create(); //创立一个parser编纂器
xml_set_element_handler($parser, "startElement", "endElement");//设立标签触发时的响应函数 这里分离为startElement和endElenment
xml_set_character_data_handler($parser, "characterData");//设立数据读取时的响应函数
$xml_file="1.xml";//指定所要读取的xml文件,可所以url
$filehandler = fopen($xml_file, "r");//翻开文件



while ($data = fread($filehandler, 4096))
{
    xml_parse($parser, $data, feof($filehandler));
}//每次掏出4096个字节停止处置
fclose($filehandler);
xml_parser_free($parser);//封闭和释放parser解析器
共2页: 上一页 1 [2] 下一页

没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。
作者: 第二个灵魂    时间: 2015-2-4 06:50
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 只想知道    时间: 2015-2-9 03:12
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 深爱那片海    时间: 2015-2-11 00:50
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: admin    时间: 2015-3-1 19:02
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 乐观    时间: 2015-3-4 01:10
当然这种网站的会员费就几十块钱。
作者: 愤怒的大鸟    时间: 2015-3-4 04:48
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 金色的骷髅    时间: 2015-3-11 16:56
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 爱飞    时间: 2015-3-19 01:54
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 山那边是海    时间: 2015-3-21 00:01
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 再现理想    时间: 2015-3-27 00:09
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 透明    时间: 2015-3-27 04:21
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 仓酷云    时间: 2015-3-30 10:38
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 蒙在股里    时间: 2015-4-6 20:26
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 若相依    时间: 2015-4-10 05:17
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 灵魂腐蚀    时间: 2015-4-15 13:58
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 活着的死人    时间: 2015-4-24 21:28
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 小妖女    时间: 2015-4-25 16:33
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 小女巫    时间: 2015-4-26 00:10
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 变相怪杰    时间: 2015-5-3 20:57
兴趣是最好的老师,百度是最好的词典。
作者: 兰色精灵    时间: 2015-5-5 13:30
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2