位置: 编程技术 - 正文

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

  • 土地使用税计入税金及附加吗
  • 进项票丢了,假如税不抵了,怎么做账
  • 出售的固定资产通过固定资产清理吗
  • 退回产品怎么做分录
  • 会计核算形式
  • 先开了发票给客户,不付款怎么办
  • 转账显示未认证
  • 应交税金进项税的会计分录
  • 未认证的进项税账务处理
  • 土地款可以抵扣土地增值税么
  • 一般纳税人旅游服务差额征税税率
  • 营业账簿印花税包括什么
  • 低值易耗品进项税额转出账务处理
  • 公允价值变动损益是什么意思
  • 金税四期上线了吗?
  • 年终奖怎么缴纳个税
  • 财务付款制度及流程图
  • 公司解散实收资本会计怎么处理
  • 药品底价高开票什么意思
  • 19年入职19年离职
  • 收回代付费用用什么科目
  • 酒精是否属于消费税征税范围
  • 差额增值税计算公式
  • 查找我的mac怎么打开
  • 应收账款周转率高说明
  • 货物损坏补发会计分录
  • php怎么把图片存入mysql
  • 怎么在bios里设置usb开关
  • 一次性支付一年租金怎么做账
  • hptasks.exe是病毒吗 是什么进程 hptasks进程说明
  • 企业所得税计税依据
  • 预交税款分录
  • 外销收入申报表怎么填
  • php-cp
  • 代驾服务费如何计算
  • 固定资产原值,净值,价值的区别
  • 提取的盈余公积是所有者权益吗
  • 税收返还需要缴纳什么税
  • 企业应该从哪些方面把握消费者行为的关键点
  • 哈士奇新手礼包
  • php常见的错误级别
  • php调用其他php函数
  • php的运算符主要包括哪些?
  • 批发商和零售商属于
  • 事业单位结余资金管理办法
  • 土地使用税的征税范围有哪些
  • 预付一年的技术服务费
  • 计提工资薪金
  • 冲销去年暂估成本对企业所得税的影响
  • 购买方享受的现金折扣
  • 电子税务局网开电子发票
  • 内部往来借方是债权还是债务
  • 贴现的概念及计算公式
  • 用于出口的进项发票怎么做账
  • 非居民企业所得税
  • 公司股东可以买公司股票吗
  • 固定资产是否可调剂
  • 纳税人延期缴纳税款
  • 勾选发票必须当月认证吗
  • 印花税应税凭证是还是否
  • 债权人接受债务人土地抵押,还会被其他债权人查封?
  • sql 关系数据库
  • sql的常用函数
  • win7 光盘
  • windows2008r2修改密码
  • 利用内置管理工具的方法
  • window10与CentOS双系统安装详细教程
  • linux用户管理器在哪
  • ghost硬盘对拷反了
  • wbs是什么的缩写
  • mac无法开机怎么办
  • 如何使用ssh
  • win10激活界面打不开
  • linux必会的20种服务
  • 税务局与稽查局哪个好
  • 企业所得税的改革与完善
  • 甲供材备案需要的资料
  • 纳税申报2020年2月
  • 沙宣发型适合什么年龄女性
  • 国税申报时间2023年10月
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设