位置: 编程技术 - 正文

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

  • 法律会计审计咨询合同需要缴纳印花税吗
  • 挂车交车船税吗
  • 个人向公司账户存款
  • 邮票可以抵个税吗
  • 通行费发票抵扣要勾选认证吗
  • 分公司可以享受小规模纳税人优惠
  • 销售金银首饰交什么税
  • 投资公司的投资人叫什么
  • 为取得固定资产而发生的什么支出可计入固定资产成本
  • 专票打印的时候密码区压线了能用吗
  • 公积金账户收入
  • 普票记账联可以报销吗
  • 个体工商户税收怎么算
  • 代扣代缴个人所得税手续费是否缴纳增值税
  • 允许列支的捐赠比例
  • 现金流量表的填制方法和构成
  • 用友软件怎么反记账凭证
  • 收到外币货款账务处理
  • 重装系统出现无效签名
  • 各类预算的内容及其相互关系
  • thinkphp5.0自定义路由
  • 制药厂副产品
  • PHP 中dirname(_file_)讲解
  • 增值税进项发票不够抵扣怎么办
  • PHP:curl_multi_remove_handle()的用法_cURL函数
  • 共管账户的定义
  • 企业自产自用产品要交增值税吗?
  • html img位置
  • 员工辞退补偿金需要交个税吗
  • 新能源企业所得税税率是多少
  • 谷歌浏览器调试窗口怎么放下面
  • 自动驾驶讲解
  • test指令怎么用
  • 查询的命令
  • wordpress限制ip访问
  • 帝国cms怎么上传图片
  • 残疾基金出什么科目
  • 普通发票不满8项怎么开明细
  • 发票报销是个人还是单位
  • php运行乱码怎么办
  • 进项税转出的会计分录
  • 织梦添加文章如何修改高级参数
  • 个人跑运输怎么开发票
  • 软件研发费用怎么做账
  • 递延所得税资产和负债账务处理
  • 分公司可以在银行贴现吗
  • 委托代理出口如何缴纳增值税
  • 税务滞纳金计入什么会计科目
  • 退回资金怎么做账
  • 企业单位为职工发放哪些福利
  • 报表其他非流动资产
  • 业务招待费纳税调整会计分录
  • 买一送一会计分录怎么写
  • 案例解析企业所需资金
  • 月末库存商品的成本怎么算
  • 受同一方重大影响的企业之间为什么不构成关联方
  • 固定资产净额怎么计算公式
  • 日记账自动生成
  • solaris vi命令
  • 在linux系统中添加用户的命令
  • windowxp操作系统
  • mac os x 10.9.5
  • win10彻底恢复出厂设置
  • window怎么开启自动更新
  • ssh密钥根据什么生成
  • 通过intent可以启动哪些组件
  • k mean python
  • bat批量命名
  • 有关于js构造函数的题
  • 浏览器url怎么看
  • 适用于分析原因的工具有哪些
  • 对activity的四种启动模式的理解
  • 办公室主任和党支部书记哪个职位高
  • 厂房租赁开票税收编码
  • 一般纳税人资格查询
  • 太平税务局电话
  • 自然资源税税率
  • 国税和地税的税种有哪些
  • 叶青和奚卫华
  • 税收是初次分配的手段
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设