位置: 编程技术 - 正文

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

  • 委托加工应税消费品代扣代缴
  • 发票开错抬头做红字发票的账务处理
  • 当月减少的固定资产当月停止折旧
  • 综合所得申报是报上个月的吗
  • 电子税务局上财务制度备案错误是啥意思
  • 员工交通费属于什么费用
  • 事业单位结转资金和结余资金区别
  • 商业收入会计分录
  • 企业资产负债表图片
  • 企业设备维修管理制度
  • 公司内部核算调拨价差的账务怎么做处理?
  • 退休返聘人员购买什么商业保险
  • 佣金增值税
  • 贷款利息增值税发票
  • 没有缴纳契税
  • 律师事务所的会计账务处理
  • 软件许可协议是什么意思
  • 企业支付宝对公打款
  • 小企业会计准则适用于哪些企业
  • 现金流量表的编制原则为( ),是( )的概念
  • tplink路由器手机怎么设置
  • linux怎么翻译
  • 安装额外语言
  • 全免增值税企业有哪些
  • NEC笔记本电脑开机启动热键
  • qconsvc.exe - qconsvc是什么进程 有什么作用
  • 资产减值损失会影响营业利润吗
  • 重装系统后出现ctrl+alt+del
  • 公租房租金收入免企业所得税吗
  • php中session什么意思
  • 新空调的安装费是多少
  • 公司要交什么税个人卖给公司的二手车
  • CodeIgniter视图使用注意事项
  • redistemplate获取value
  • ros urdf
  • xml格式化输出
  • ms 高级应用
  • 企业向个人租房子需要缴纳什么税
  • 计算机视觉需要学什么
  • javascript获取字符串长度
  • react受控和不受控组件的区别
  • 查看zip文件命令
  • 什么是免抵调库税额
  • vue文件下载功能
  • 房地产销售折扣
  • 深入理解linux内核
  • 收到增值进项发票
  • 其他应付款贷方正数表示什么意思
  • 研发费用资本化条件有哪些
  • db2 21000怎么解决
  • 退回股东投资款现金流怎么选
  • 信用减值损失与资产减值损失
  • 应交增值税减免税款是什么意思
  • 公司注册资金抽走违法吗
  • 社保扣款上月没扣费
  • 租赁行业的增值税率
  • 三证合一哪三个证
  • 扶贫入股分红政策
  • 固定总价合同与epc总承包合同区别
  • 企业备用金怎么做账
  • 新税法和新准则的关系
  • sql优化的一般步骤
  • 游戏与操作系统不兼容
  • windows累积更新
  • windows7怎么说
  • win10装360安全卫士
  • win8怎么隐藏桌面图标
  • Win10 Mobile 10586.71截图曝光 修复已知问题
  • cocos creator js ts
  • unity3D游戏开发
  • unicode编码实现方案
  • python编写api接口
  • unity3d开发之对象池
  • android自定义viewgroup绘制
  • jquery.form.min.js
  • js设置图片大小
  • 广东高速费用支付宝支付如何开发票
  • 陕西电子发票开票流程?
  • 南京国税局长是谁
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设