XML解析
array(2) {
["header"]=>
string(267) "HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=BDED717E8585DDA55A47EA1822C00E80; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 02:38:00 GMT
Connection: close"
["body"]=>
string(103) "
}
是一个web服务端的返回值
用 simplexml_load_string解析返回false,我都诧异了
['body']的内容如何转换成一个数组形式
回复讨论(解决方案)
$xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><response><error>0</error><message>-1100.0</message></response>"; $xml = simplexml_load_string($xml_string); //对象转换成数组,方便引用 $arr = (array)$xml; var_dump($arr);
$ar = simplexml_load_string($data['body']);
$ar = simplexml_load_string($data['body']);
我还不至于犯这个低级错误
不知道你会犯什么样的高级错误
$s = '<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>';$xml = simplexml_load_string($s);print_r($xml);
(
[error] => 0
[message] => -1100.0
)
不知道你会犯什么样的高级错误
$s = '<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>';$xml = simplexml_load_string($s);print_r($xml);
(
[error] => 0
[message] => -1100.0
)
问题是我这里就是返回bool(false)
贴出接收到的数据的序列化值
比如你接受的的数据在 $data 中,则
echo serialize($data);
贴出结果
贴出接收到的数据的序列化值
比如你接受的的数据在 $data 中,则
echo serialize($data);
贴出结果
a:2:{s:6:"header";s:267:"HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 03:22:14 GMT
Connection: close";s:4:"body";s:103:"
我感觉是数据的问题
$s = 'a:2:{s:6:"header";s:267:"HTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnlyContent-Type: text/html;charset=UTF-8Content-Language: en-GBContent-Length: 103Date: Sat, 24 Aug 2013 03:22:14 GMTConnection: close";s:4:"body";s:103:"<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>";}';$d = unserialize($s);$xml = simplexml_load_string(trim($d['body']));print_r($xml);
(
[error] => 0
[message] => -1100.0
)
你在获取数据时,没有切割干净。
http 数据头和数据体之间是“\r\n\r\n”,而你是按“\r\n”切割的
所以在数据体前面留有的“\r\n”造成分析失败
$s = 'a:2:{s:6:"header";s:267:"HTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnlyContent-Type: text/html;charset=UTF-8Content-Language: en-GBContent-Length: 103Date: Sat, 24 Aug 2013 03:22:14 GMTConnection: close";s:4:"body";s:103:"<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>";}';$d = unserialize($s);$xml = simplexml_load_string(trim($d['body']));print_r($xml);
(
[error] => 0
[message] => -1100.0
)
你在获取数据时,没有切割干净。
http 数据头和数据体之间是“\r\n\r\n”,而你是按“\r\n”切割的
所以在数据体前面留有的“\r\n”造成分析失败
确实是这个原因,谢谢你的细心回答

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Web開發領域中,資料格式之一的XML和JSON被廣泛應用,而Gin框架則是一款輕量級的Go語言Web框架,它簡潔易用且具有高效的效能。本文將介紹如何使用Gin框架實作XML和JSON資料解析功能。 Gin框架概述Gin框架是一款基於Go語言的Web框架,它可用於建立高效且可擴展的Web應用程式。 Gin框架的設計想法是簡潔易用,它提供了多種中間件和插件,使開

隨著Java在網際網路領域的應用越來越廣泛,許多開發者可能會在使用XML進行資料解析的過程中遇到「XML解析錯誤」的問題。 XML解析錯誤是指在使用Java解析XML資料時,由於資料格式不正確、標籤未閉合或其他原因導致程式無法正常解析數據,從而引發錯誤和異常。那麼,在面對XML解析錯誤時,我們該如何解決與避免呢?本文將對這一問題進行詳細說明。一、XML解析

XML是一種常用的資料交換格式,在Java開發中,經常需要解析大規模的XML檔案。然而,由於XML檔案往往包含大量的節點和元素,傳統的XML解析方式容易導致記憶體佔用過高的問題。本文將介紹一些解決XML解析記憶體佔用過高問題的方法。使用SAX解析器SAX(SimpleAPIforXML)是一種基於事件驅動的XML解析方式。相較於DOM(DocumentO

在開發Web應用程式時,XML是一種非常重要的資料格式,它可以用於資料交換和資訊共享等場景。在PHP中,我們可以使用內建的函數和第三方函式庫來解析和操作XML。下面我們將討論如何使用PHP解析XML,並取得其中節點的內容。解析XML文件首先,我們需要解析XML文件,PHP提供了兩種主要的方法來解析XML:1.1.使用SimpleXMLSimpleXML是PHP內

PHP8.1更新:增強的XML解析功能隨著互聯網的快速發展,XML(可擴展標記語言)在資料交換和資訊傳遞中扮演了重要的角色。作為一種通用的資料格式,XML經常被用於在不同應用程式之間傳遞和儲存資料。為了提供更好的XML解析能力,PHP8.1在XML解析功能上進行了增強,為開發者提供了更多便利。在PHP8.1中,一個重要的改進是引入了libxml_disabl

解決JavaXML解析異常(XMLParsingException)的解決方案簡介:在處理XML檔案時,我們常常會遇到XML解析異常(XMLParsingException),這是由於XML檔案格式錯誤或XML解析器設定不正確等原因導致的。本文將介紹一些常見的XML解析異常以及解決方案,幫助開發者更好地應對這些問題。一、XML解析異常的原因在解析XML文

PHP是一種廣泛使用的程式語言,它支援許多不同的檔案格式,包括XML。在處理XML檔案時,可能會出現解析錯誤。本文將介紹如何在PHP中處理XML解析錯誤,並提供一些具體的程式碼範例。檢查XML檔案格式在處理XML檔案之前,必須確保XML檔案的格式正確。 XML檔案必須是嚴格的格式,否則解析器將無法處理該檔案。例如,XML檔案必須包含根元素,並使用正確的命名空間、

Java開發中如何解決XML解析佔用過多堆記憶體問題引言:隨著資訊和資料的爆炸性成長,XML(可擴展標記語言)在企業應用開發中的重要性不斷增加。然而,XML解析過程中可能會遇到佔用過多堆記憶體的問題,尤其是在處理大型XML檔案時。本文將介紹一些解決這個問題的方法和技巧。一、了解XML解析過程在深入解決XML解析佔用過多堆記憶體問題之前,我們先了解XML解析的基
