位置: 编程技术 - 正文

PHP:xml_parse_into_struct()的用法_XML解析器函数

编辑:rootadmin
xml_parse_into_struct

推荐整理分享PHP:xml_parse_into_struct()的用法_XML解析器函数,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

(PHP 4, PHP 5)

xml_parse_into_struct — 将 XML 数据解析到数组中

说明 int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

该函数将 XML 文件解析到两个对应的数组中,index 参数含有指向 values 数组中对应值的指针。最后两个数组参数可由指针传递给函数。

Note:

xml_parse_into_struct() 失败返回 0,成功返回 1。这和 FALSE 与 TRUE 不同,使用例如 === 的运算符时要注意。

PHP:xml_parse_into_struct()的用法_XML解析器函数

以下范例显示了由该函数生成的数组的内部结构。我们简单地将一个 note 嵌入到一个 para 标记中,解析后我们可以打印出生成的数组的结构:

Example #1 xml_parse_into_struct() 示例

<?php$simple="<para><note>simplenote</note></para>";$p=xml_parser_create();xml_parse_into_struct($p,$simple,$vals,$index);xml_parser_free($p);echo"Indexarrayn";print_r($index);echo"nValsarrayn";print_r($vals);?>

运行以上代码,我们得到的输出将是:

如果您的 XML 文档很复杂,基于该文档的事件处理(Event-driven)解析(基于 expat 扩展库)也会对应的变得复杂。该函数生成的并非 DOM 风格的对象,而是横向的树状结构。因此,我们能够方便的建立表达 XML 文件数据的对象。我们假设以下 XML 文件表示一个关于氨基酸信息的小型数据库:

Example #2 moldb.xml - 分子信息的小型数据库

以下是解析该文档并生成相应对象的代码:

Example #3 parsemoldb.php - 将 moldb.xml 解析到分子(molecular)对象的数组中

<?phpclassAminoAcid{var$name;//aa姓名var$symbol;//三字母符号var$code;//单字母代码var$type;//hydrophobic,charged或neutralfunctionAminoAcid($aa){foreach($aaas$k=>$v)$this->$k=$aa[$k];}}functionreadDatabase($filename){//读取aminoacids的XML数据$data=implode("",file($filename));$parser=xml_parser_create();xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);xml_parse_into_struct($parser,$data,$values,$tags);xml_parser_free($parser);//遍历XML结构foreach($tagsas$key=>$val){if($key=="molecule"){$molranges=$val;//eachcontiguouspairofarrayentriesarethe//lowerandupperrangeforeachmoleculedefinitionfor($i=0;$i<count($molranges);$i+=2){$offset=$molranges[$i]+1;$len=$molranges[$i+1]-$offset;$tdb[]=parseMol(array_slice($values,$offset,$len));}}else{continue;}}return$tdb;}functionparseMol($mvalues){for($i=0;$i<count($mvalues);$i++){$mol[$mvalues[$i]["tag"]]=$mvalues[$i]["value"];}returnnewAminoAcid($mol);}$db=readDatabase("moldb.xml");echo"**DatabaseofAminoAcidobjects:n";print_r($db);?> 在执行完 parsemoldb.php 后,变量 $db 将包含有一个由 AminoAcid 对象组成的数组,该脚本的输出如下:

PHP:xml_set_unparsed_entity_decl_handler()的用法_XML解析器函数 xml_set_unparsed_entity_decl_handler(PHP4,PHP5)xml_set_unparsed_entity_decl_handler建立未解析实体定义声明处理器说明boolxml_set_unparsed_entity_decl_handler(resource$parser,callable$han

PHP:xml_set_start_namespace_decl_handler()的用法_XML解析器函数 xml_set_start_namespace_decl_handler(PHP4=4.0.5,PHP5)xml_set_start_namespace_decl_handler建立起始命名空间声明处理器说明boolxml_set_start_namespace_decl_handler(resource$parser,callable$

PHP:xml_set_element_handler()的用法_XML解析器函数 xml_set_element_handler(PHP4,PHP5)xml_set_element_handler建立起始和终止元素处理器说明boolxml_set_element_handler(resource$parser,callable$start_element_handler,callable$end_element_handl

标签: PHP:xml_parse_into_struct()的用法_XML解析器函数

本文链接地址:https://www.jiuchutong.com/biancheng/275045.html 转载请保留说明!

上一篇:PHP:xml_set_processing_instruction_handler()的用法_XML解析器函数

下一篇:PHP:xml_set_unparsed_entity_decl_handler()的用法_XML解析器函数

  • 个人出售普通住宅应当缴纳哪些税
  • 固定资产清理应该在年报中怎么填写
  • 增值税税率是怎么规定的
  • 工商年报多久能显示
  • 药店的主营业务是什么
  • 机票改签费能否抵税
  • 设备采购及安装属于工程还是货物
  • 增值税专用发票和普通发票的区别
  • 收到税务局附加税退税税款的分录
  • 房租不能开发票怎样入账
  • 资产减值损失借贷方向
  • 有限合伙企业转让投资股权
  • 建筑业营改增主要政策一览表
  • 过期未认证的进项税如何记账
  • 非税收入一般缴款书可以抵扣吗
  • 化肥贸易需要什么手续
  • 花卉租赁发票税率是多少
  • 处置固定资产增值税税率
  • 办公设备的税收编码
  • 小规模纳税人实行简易征收办法
  • 三证合一对纳税有影响吗
  • 买一赠一商品必须一样吗
  • 收到财政补助资金怎么办
  • 增值税普票当月开错了怎么办
  • 递延收益的账务处理案例
  • 投资活动净现金流为负说明什么
  • 行政事业单位职工体检依据
  • 差额增值税发票和全额增值税发票
  • 资产负债表存货包括哪些科目
  • html下划线怎么设置
  • 材料款零头抹掉怎么做凭证
  • vue新手教程
  • 财政零余额账户是什么
  • wordpress批量生成文章
  • hadoop集群状态
  • 织梦模板改成帝国模板
  • 零税率与免税有何区别
  • 一个简单的脚本
  • 什么情况下企业亏损但继续生产
  • 未开票收入是什么科目
  • 计提的费用收到发票时候怎么做账
  • 简易计税是否要计增值税
  • 期末贷方余额什么意思
  • 资产负债表日后非调整事项应当在附注中披露
  • 应交税费应交增值税已交税金怎么用
  • 个体工商户和小规模纳税人的区别
  • 月报报表格式
  • 外资房地产企业 利润汇出比例
  • 原始凭证的审核要求有哪些
  • 备查账一般采用什么账簿
  • 屏幕右下角显示A2
  • 微软10月已停止服务中国用户
  • winxp系统怎么投屏
  • centos7怎么查看磁盘空间
  • 使用移动硬盘快速启动
  • svchosl.exe - svchosl是什么进程 有什么作用
  • windows勒索病毒
  • win11怎么关闭系统防火墙
  • mac系统怎么设置默认应用
  • pax是什么文件
  • win7系统弹出好多停止运行程序
  • 如何更改win10管理员账户
  • win8怎么做win7系统
  • win10桌面右键菜单变宽了
  • node 线程 进程
  • unity 移动应用开发
  • Windows下自动备份MongoDB的批处理脚本
  • incaseformat查杀
  • unity如何调整界面
  • 啥叫七个不得
  • 前端js优化
  • unity gpu优化
  • 三角进攻怎么打
  • express后端
  • 医院体检怎么拿发票
  • 电子税务局怎么添加开票员
  • 党员走访群众问题汇总
  • 增值税专用发票上传是什么意思
  • 国家税务总局组建千户集团税收风险分析专业团队
  • 市中区税务局办税大厅上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设