simplexml_load_string 解析xml

<?php
//simplexml_load_string 解析两种类型的xml
$res=‘<?xml version="1.0" encoding="UTF-8"?>
<SYNCPacket>
<mor><cpid>010001000249</cpid><mid>1009011719781282</mid><cpmid>1411957176</cpmid><mobile>13882524228</mobile><port>0096</port><msg>DELIVRD</msg><area>四川</area><city>遂宁</city><type>4</type><channel>1</channel><reserved></reserved></mor>
<mor><cpid>010001000249</cpid><mid>1009011719781301</mid><cpmid>1411957175</cpmid><mobile>18719295258</mobile><port>0096</port><msg>DELIVRD</msg><area>广东</area><city>阳江</city><type>4</type><channel>1</channel><reserved></reserved></mor>
</SYNCPacket>‘;
$reStat=simplexml_load_string($res);

foreach ($reStat->children() as $value) {
$arr[‘restatus‘]=trim($value->msg);
$arr[‘mobile‘]=trim($value->mobile);
$arr[‘taskid‘]=trim($value->cpmid) ;

$reply_arr[]=$arr;

}
print_r($reply_arr);

$re=‘<?xml version="1.0" encoding="UTF-8"?>
<SYNCPacket>
<count>200</count>
<result>0</result>
<report>
<mor><cpid>010001000249</cpid><mid>1009011719781282</mid><cpmid>1411957176</cpmid><mobile>13882524228</mobile><port>0096</port><msg>DELIVRD</msg><area>四川</area><city>遂宁</city><type>4</type><channel>1</channel><reserved></reserved></mor>
<mor><cpid>010001000249</cpid><mid>1009011719781301</mid><cpmid>1411957175</cpmid><mobile>18719295258</mobile><port>0096</port><msg>DELIVRD</msg><area>广东</area><city>阳江</city><type>4</type><channel>1</channel><reserved></reserved></mor>
</report>
</SYNCPacket>‘;

$reStat=simplexml_load_string($re);

foreach ($reStat->report->mor as $value) {
$arr[‘restatus‘]=trim($value->msg);
$arr[‘mobile‘]=trim($value->mobile);
$arr[‘taskid‘]=trim($value->cpmid) ;

$reply_arr[]=$arr;

}
print_r($reply_arr);

$xml=‘<xml name="sendBatch" result="1">
<Item cid="333" sid="333" msgid="111" total="1" price="0.10" remain="170.040"/>
  <Item cid="444" sid="444" msgid="222" total="1" price="0.10" remain="169.940"/>
</xml>‘;
$re=simplexml_load_string(utf8_encode($xml));
if($re[‘result‘]==1)
{
foreach ($re->Item as $item)
{
$stat[‘msgid‘] =trim((string)$item[‘msgid‘]);
$stat[‘total‘]=trim((string)$item[‘total‘]);
$stat[‘price‘]=trim((string)$item[‘price‘]);
$stat[‘remain‘]=trim((string)$item[‘remain‘]);
$stat_arr[]=$stat;

}
print_r($stat_arr);

}
?>

时间: 2024-10-05 03:09:22

simplexml_load_string 解析xml的相关文章

PHP解析xml文档 1

SimpleXML 解析xml 如果xml没有声明encoding默认使用utf-8进行解码,最终得到的数据编码为utf-8格式. 我猜想它内部实现了iconv(encoding='utf-8', 'utf-8',str); 所以当xml中存在中文,但是xml没有声明encoding = 'gbk' 会报错误. testxml.xml文件如下 <?xml version="1.0" encoding="utf-8"?> <languages>

PHP解析xml

<?xml version="1.0" encoding="UTF-8"?> <ZIP_result> <result name="ZipSearchXML" /> <result version="1.01" /> <result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D5300

SimpleXML php 解析xml 的方法

SimpleXML是PHP5后提供的一套简单易用的xml工具集,可以把xml转换成方便处理的对象,也可以组织生成xml数据.不过它不适用于包含namespace的xml,而且要保证xml格式完整(well-formed).它提供了三个方法:simplexml_import_dom.simplexml_load_file.simplexml_load_string,函数名很直观地说明了函数的作用.三个函数都返回SimpleXMLElement对象,数据的读取/添加都是通过SimpleXMLElem

【dom4j】解析xml为map

dom4j解析xml文件 <?xml version="1.0" encoding="utf-8"?> <workflows> <queryRequest> <branchId>88037062</branchId> <merSysId>00000317</merSysId> <queryNo>948983692</queryNo> <billType&

四种生成和解析XML文档的方法详解

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 一.介绍及优缺点分析 1. DOM(Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的. [优点]      ①允许应用

DOM解析XML

DOM的文档驱动 处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成 DOM树上的每个Node对象 优点是:可以对XML文档进行增删改查的复杂操作,可以随时按照节点间的关系访问数据 缺点: 受内存容量限制,不能处理大的文档,由于没有索引机制,处理效率较低 DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,然后代码就可以使用DOM接口来 操组整个树结构,其他点如下: 优点:整个文档树都在内存当中,便于操作:支持删

SAX解析XML

SAX 事件处理(事件驱动),不需要载入整个文档,流机制读取,分析XML文档 startDocument startElement character endElement endDocument 当sax扫描到文档时就调用startDocument函数,sax扫描到文档结束符时就调用endDocument函数,也就是说当sax扫描到哪个节点时就会调用相应的函数,同时还会携带节点的属性值. 当它扫描到节点内容值时就会调用character函数 Sax主要是用来对xml文件遍历,解析,不提供修改.

DOM的概念和简单应用:使用DOM解析XML数据

概念:DOM是Document Object Model的简称,即文档数据模型. Oracle公司提供了JAXP(Java API for XML Processing)来解析XML.JAXP会把XML文档转换成一个DOM树,JAXP的三个包都在JDK中. org.w3c.dom;W3C推荐的解析文档的接口 org.xml.sax;使用SAX解析XML文档的接口 javax.xml.parsers;解析器工厂工具 一.使用DOM解析XML文档的步骤 1.创建解析器工厂对象,即DocumentBu

Python数据清理之解析XML文件

解析XML 使用Beautiful Soup