位置: 编程技术 - 正文

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解析器函数

  • 企业所得税的纳税人发生年度亏损的时间
  • etc发票可以抵扣进项税吗
  • 加计抵扣进项税进营业外收入
  • 已认证专票有误怎么回事
  • 挂靠别人公司怎么交税?
  • 公司开办期间的费用如何处理
  • 结转损益主营业务成本在借方还是贷方
  • 施工企业结算金额怎么算
  • 出售车辆需要缴纳哪些税
  • 企业多扣个税怎么处理
  • 发票认证勾选是一回事吗
  • 公休假补贴多少钱
  • 委托加工怎么计算消费税
  • 在建工程预转固后又有工程款
  • 一次还本付息摊余成本计算公式
  • 研发费用领用材料
  • 暂估金额与发票金额的区别
  • 外经证预缴税款分录怎么记账
  • hp tpn-c120笔记本
  • 销售差异计算公式
  • 要约与要约邀请的主要区别
  • 劳务公司的账务怎么做账
  • 新会计规定工会会计制度
  • 发票差额怎样做分录
  • 重命名电脑名称有什么用
  • win10移动热点开关自动弹回
  • 电脑方案表格
  • win10开始菜单设置无效
  • 房地产企业所得税预提成本10%
  • Windows操作系统出现内存错误解决方法
  • php自定义函数的语法格式
  • 在建工程的核算内容和范围是什么
  • 固定资产清理税务处理
  • 研发人员的差旅费可以加计扣除吗
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • php操作步骤
  • php 反代
  • 跨区域预缴增值税是当月还是次月
  • 炫酷登录注册教程
  • 企业利润总额为负
  • vue3+antd
  • js快速入门教程
  • 网上学电脑的软件
  • 申报经营所得成绩怎么填
  • 资产负债表的负债项目显示了企业所负担债务的
  • 国税实名认证手机号如何解绑
  • 汽车维修行业工时标准
  • 销售bu是什么意思
  • 专项附加扣除可以随时更改吗
  • MySQL5.6 Replication主从复制(读写分离) 配置完整版
  • 新成立公司如何报税
  • 一般纳税人认定标准2023年
  • 无形资产如何摊销 当月还是下月
  • 借款怎么入会计分录
  • 商场收取租户电费合法吗
  • 买赠销售账务处理
  • 固定资产的改良支出有哪些
  • 固定资产的处置方式包括
  • 接受捐赠可以确认为收入吗
  • 外汇申报国家代码表
  • 建筑业异地预缴个税税率
  • windows7的插孔设置在哪
  • win7桌面图标自动排列怎么取消
  • [置顶] 《诸天星河》
  • Unity3d Asset Serialization 设置错误导致SVN文件不能同步
  • javascript到c
  • html中<
  • unity 3d场景2d角色
  • javascript的简介
  • python reducebykey
  • 下列关于javascript的叙述正确的有
  • javascript原型链详解
  • 税基式减免,税率式减免,税额式减免三者之间的联系
  • 天津违规养犬的处罚依据
  • 技术咨询服务费税率
  • 税控盘开票怎么添加新商品
  • 取消税控盘服务费
  • 广西电票科技有限公司
  • 药店开给个人的增值税发票是什么样
  • 李民基
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设