php解析xml報(bào)文的方法是DOMDocument:
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),羅田網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:羅田等地區(qū)。羅田做網(wǎng)站價(jià)格咨詢(xún):028-86922220
解析方法如下:
$xmlstring = XML
?xml version='1.0'?
document
cmd attr='default'login/cmd
loginimdonkey/login
/document
XML;
$dom = new DOMDocument();
$dom-loadXML($xmlstring);
print_r(getArray($dom-documentElement));
function getArray($node) {
$array = false;
if ($node-hasAttributes()) {
foreach ($node-attributes as $attr) {
$array[$attr-nodeName] = $attr-nodeValue;
}
}
if ($node-hasChildNodes()) {
if ($node-childNodes-length == 1) {
$array[$node-firstChild-nodeName] = getArray($node-firstChild);
} else {
foreach ($node-childNodes as $childNode) {
if ($childNode-nodeType != XML_TEXT_NODE) {
$array[$childNode-nodeName][] = getArray($childNode);
}
}
}
} else {
return $node-nodeValue;
}
return $array;
}
首先要將客戶(hù)端和服務(wù)器端建立一一聯(lián)系,每個(gè)客戶(hù) 端都得有一個(gè)唯一標(biāo)識(shí),這樣服務(wù)器才能識(shí)別出來(lái)。建議唯一標(biāo)識(shí)的方法有兩種:cookie或者通過(guò)GET方式指定。默認(rèn)配置的PHP使用session的 時(shí)會(huì)建立一個(gè)名叫”P(pán)HPSESSID”的cookie(可以通過(guò)php.ini修改session.name值指定),如果客戶(hù)端禁用cookie,你 也可以指定通過(guò)GET方式把session id傳到服務(wù)器(修改php.ini中session.use_trans_sid等參數(shù))。
TCP協(xié)議頭最少20個(gè)字節(jié),包括以下的區(qū)域
TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是
標(biāo)示報(bào)問(wèn)的返回地址。
TCP目的端口(Destination port):16位的目的端口域定義傳輸?shù)哪康?。這個(gè)端口指明報(bào)文接收計(jì)算
機(jī)上的應(yīng)用程序地址接口。
TCP序列號(hào)(序列碼,Sequence Number):32位
TCP應(yīng)答號(hào)(Acknowledgment Number):32位的序列號(hào)由接收端計(jì)算機(jī)使用,重組分段的報(bào)文成最初形式。,如果設(shè)置了ACK控制位,這個(gè)值表示一個(gè)準(zhǔn)備接收的包的序列碼。
//創(chuàng)建socket監(jiān)聽(tīng)端口
$socket = socket_create_listen("55555");
//連接失敗給出錯(cuò)誤信息
if(!$socket){
exit("Failed to create socket!\n");
}
while(true){
$client = socket_accept($socket); //接受一個(gè)Socket連接!
json_encode
對(duì)中文的處理是有問(wèn)題的:
不能處理GBK編碼,所有的GBK編碼都會(huì)替換成空字符;
utf8編碼的中文被編碼成unicode編碼,相當(dāng)于javascript的escape函數(shù)
處理的結(jié)果。
為了能正確使用json,首先我們就應(yīng)該在編碼上采用utf8編碼,然后再對(duì)
json_encode的返回結(jié)果稍加處理就可以得到正確的結(jié)果了。
即需要加:原始數(shù)據(jù)$json=iconv("GBK","UTF-8",$json);
json_decode之后需要顯示或使用時(shí),再轉(zhuǎn)回來(lái)
echo iconv("UTF-8","GBK",$decode['data'][0]['APPName']);
文章名稱(chēng):php解析數(shù)據(jù)報(bào),PHP報(bào)告
本文網(wǎng)址:http://aaarwkj.com/article26/dsigecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、微信公眾號(hào)、自適應(yīng)網(wǎng)站、電子商務(wù)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)