//假設xml字符串

目前創(chuàng)新互聯(lián)公司已為上千家的企業(yè)提供了網站建設、域名、網站空間、網站改版維護、企業(yè)網站設計、西安網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
$postStr = 'xmlToUserName![CDATA[toUser]]/ToUserNameFromUserName![CDATA[FromUser]]/FromUserNameCreateTime123456789/CreateTimeMsgType![CDATA[text]]/MsgTypeContent![CDATA[p1]]/Content/xml';
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
var_dump($postObj);
/**
object(SimpleXMLElement)[16] public 'ToUserName' = string 'toUser' (length=6) public 'FromUserName' = string 'FromUser' (length=8) public 'CreateTime' = string '123456789' (length=9) public 'MsgType' = string 'text' (length=4) public 'Content' = string 'p1' (length=2)
*/
//把xml字符串解析為對象
xml_parse_into_struct — 將 XML 數(shù)據解析到數(shù)組中。可以看看參考資料中的那個網址的文章。
.asmx的全程是ASMX Active Server Methods,.asmx 是WEB服務文件,asmx.cs里有相關代碼
屬于B/S形式,用SOAP方式HTTP訪問,用XML返回。
以下是 php語言 利用 soap調用.Net的WebService asmx文件
?php
//php.ini中打開下面3個dll
//extension = php_soap.dll
//extension = php_curl.dll
//extension = php_openssl.dll
header("content-type:text/html;charset=utf-8");
$client = new SoapClient(" ");
//本行測試不可行 $client = new SoapClient(" ;psw=123");
//參數(shù)這樣傳遞 先包裝一下
$param = array('username'='test3','psw'='123');
//調用必須用__soapCall
$p = $client-__soapCall('ChkWele',array('parameters' = $param));
print_r($p-ChkWeleResult); //這里先輸出一下變量$p,看看是什么類型。
?
.NET部分 webservice要注意的地方
/*
* system.web在這個節(jié)點中加入如下內容
webServices
protocols
add name="HttpSoap"/
add name="HttpPost"/
add name="HttpGet"/
add name="Documentation"/
/protocols
/webServices
*/
[WebMethod(Description = "This......", EnableSession = false)]
public string ChkWele(string username, string psw)
{
string ret = "";
return ret;
}
親手打的,經過測試的,采納吧
?php
header("Content-type: text/html; charset=utf-8");
$xml = '?xml version="1.0" encoding="utf-8"?rss version="5.0"list page="1" pagecount="1" pagesize="20" recordcount="1"videolast2014-7-11 12:08:07/lastid19393/idtid7/tidname![CDATA[越軌追擊]]/nametype愛情/typepic;/piclang英語/langarea歐美/areayear2005/yearstate0/statenote![CDATA[HD]]/noteactor![CDATA[克里夫·歐文 詹妮弗·安妮斯頓]]/actordirector![CDATA[米凱爾·哈弗斯特羅姆]]/directordldd flag="jjvod"![CDATA[HD$jjhd://20000|b3a97575c3df592ec08adb93c54a9c2dcf7dc332|越軌追擊HD中字1280高清.rmvb$jjvod]]/dd/dldes![CDATA[他又無法求助于警察,他現(xiàn)在必須找到露辛達,依靠兩個人的力量奪回曾經寧靜的生活。]]/des/video/list/rss';
$result = simplexml_load_string($xml);
//var_dump($result); //可以打印看看結果如何
$result = object_to_array($result);
//print_r($result['list']['video']);exit;
foreach($result['list']['video'] as $key=$v){
echo $key."=".$v."\n";
}
function object_to_array($obj){
$arr = array();
$_arr = is_object($obj)? get_object_vars($obj) :$obj;
foreach ($_arr as $key = $val){
$val=(is_array($val)) || is_object($val) ? object_to_array($val) :$val;
$arr[$key] = $val;
}
return $arr;
}
?
先給你個以前寫的讀取xml格式的天氣預報的代碼吧,比著葫蘆畫瓢,不懂再追問
?php
$apistr=file_get_contents(";ak=B8aced94da0b345579f481a1294c9094");?//獲取xml內容
$apiobj=simplexml_load_string($apistr);//解析xml代碼
$todayobj=$apiobj-results-result[0]-date;//讀取星期
$weatherobj=$apiobj-results-result[0]-weather;//讀取天氣
$windobj=$apiobj-results-result[0]-wind;//讀取風力
$temobj=$apiobj-results-result[0]-temperature;//讀取溫度
$contentStr?=?"上海\n{$todayobj}\n天氣:{$weatherobj}\n風力:{$windobj}\n溫度:{$temobj}";
echo?$contentStr;
?
創(chuàng)建一個以.xml結尾的文檔
內容如下:
?xml
version="1.0"
encoding="utf-8"?
class
student
info="美女"
name小喬/name
sex女/sex
age20/age
/student
student
name周瑜/name
sex男/sex
age25/age
/student
student
namehsy/name
sex男/sex
age21/age
/student
/class
創(chuàng)建以.php結尾的文件:代碼如下:
?php
header('content-type:text/html;charset=utf-8');
//1、創(chuàng)建一個DOMDocument對象。該對象就表示
xml文件
$xmldoc
=
new
DOMDocument();
//2、加載xml文件(指定要解析哪個xml文件,此時dom樹節(jié)點就會加載到內存中)
$xmldoc-load("class.xml");
//3、目標:獲取第一個學生的名字
$stu
=
$xmldoc-getElementsByTagName("name");//直接找到節(jié)點name
$stu1
=
$stu-item(0);//
item(1)時,可以取到周瑜
$sex=$xmldoc-getElementsByTagName("sex");
$sex1=
$sex-item(0);
echo
$sex1-nodeValue;
echo
$stu1-nodeValue;
?
結果顯示為:女小喬
當前名稱:php怎么解析xml數(shù)據,php讀取xml接口數(shù)據
新聞來源:http://chinadenli.net/article42/dsijiec.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿網站建設、網站營銷、軟件開發(fā)、網站收錄、動態(tài)網站、網頁設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)