位置: 编程技术 - 正文

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

  • 个人普通发票多少钱
  • 支出算什么会计科目
  • 计入固定资产和其他资产
  • 重分类八个对应科目有哪些
  • 月中入职新公司社保谁交
  • 增值税专用发票可以开电子发票吗
  • 房产交房前开发商要办齐的手续
  • 个人独资企业经营所得税税率表2023
  • 大病医疗保险能税前扣除吗
  • 返利冲抵货款会计分录
  • 事业单位非税收入包括哪些
  • 资产拍卖税费谁承担
  • 出口发票金额和备注了差了1分钱
  • 存出的保证金
  • 税收成本如何影响税收管理制度
  • 小规模企业所得税标准
  • 营业执照印花税税率
  • 纳税人如何网上申请预填报服务
  • 增值税发票压线能用吗
  • 汇算清缴补开票交税怎么写摘要?
  • 延期收款利息如何算
  • 用人单位逾期未缴纳社会保险费可能会使用的文书
  • linux怎么添加命令
  • 如何在Excel中合并计算
  • 苹果手机系统更新在哪里找
  • 延期报税申请怎么操作
  • 直接人工分配按计时工资怎么分
  • mysql输入中文显示乱码
  • 销货方发票红冲操作流程
  • 蓝莓外面的霜
  • service的启动方式及生命周期
  • 企业上交财政款分录
  • vue接入高德地图
  • vue-router导航守卫
  • win11更新22468
  • 个税在工资里怎么计提
  • 餐饮行业的增值税
  • 预收账款转收入可以调以前年度吗
  • 兼职费用怎么入账报销
  • 织梦官方网站
  • 转入固定资产清理会计科目
  • 企业所得税报表查询怎么查
  • 微信小程序 滚动 变色
  • 财务费用报销流程最后环节出纳
  • 单位未足额缴纳社保怎么赔偿
  • 预付款已经开了发票未到货要怎么做账
  • 燃油费如何做账会计分录
  • 公司注销后原有未使用的包装还可以用吗怎么办
  • 供应链公司的骗局招司机是真的吗
  • 专打发票的打印机
  • 纳税申报财务报表怎么撤销
  • 支付宝扣手续费是怎么回事
  • 会计怎么核对出纳的日记账
  • 私营企业固定资产法律制度
  • 记账凭证的附件和附单据
  • Windows下安装爱思助手V8
  • sql sever实验指导
  • window2008 64位系统没有office组件问题分析及解决
  • centos sync
  • 备份linux命令
  • linux使用ssh命令
  • linuxdhcp服务器管理与配置
  • win7旗舰版玩dnf总是未响应
  • shell脚本数字运算
  • 页里面 CDATA的作用说明
  • node.js中的http.response.getHeader方法使用说明
  • javascript制作简易计算机
  • jquery中什么方法用于模拟光标悬停事件
  • shell if -lt
  • JavaScript设置字体颜色
  • jquery的实现原理
  • jquery22
  • jquery控制display属性
  • python convexhull
  • 税务认证系统如何操作
  • 融资租赁利息是哪个科目
  • 广东省电子税务局官网登录入口
  • 冀地是哪里
  • 财税公司工资怎么样
  • 尤溪特产春节礼品
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设