導航:首頁 > 編程語言 > php解析xml字元串

php解析xml字元串

發布時間:2023-05-10 16:36:15

php怎麼解析從網頁中獲取的xml數據

先給你個以前寫的讀取xml格式的天氣預報的代碼吧,比著葫蘆畫瓢,不懂再追問


<?php
$apistr=file_get_contents("http://api.map..com/telematics/v2/weather?location=%E4%B8%8A%E6%B5%B7&ak=");//獲取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="上海 {$todayobj} 天氣:{$weatherobj} 風力:{$windobj} 溫度:{$temobj}";
echo$contentStr;
?>

㈡ PHP怎麼解析通聯支付結果返回的xml

把接到的xml命名為$xml,然後下面兩句話處理成數組,這樣就好處理了
$xml=simplexml_load_string($xml);
$xml=(array)$xml;

var_mp($xml);

㈢ PHP怎麼解析微信支付結果返回的xml

PHP解析微信支付結果返回的xml的方法是通過自定義方法和第三方組件DomDocument實現的。
1、解析代碼如下:
<?PHP
header("Content-type:text/html; Charset=utf-8");
$url = "http://www.google.com/ig/api?weather=shenzhen";

// 載入XML內容
$content = file_get_contents($url);
$content = get_utf8_string($content);
$dom = DOMDocument::loadXML($content);
/*
此處也可使用如下所示的代碼,
$dom = new DOMDocument();
$dom->load($url);
*/

$elements = $dom->getElementsByTagName("current_conditions");
$element = $elements->item(0);
$condition = get_google_xml_data($element, "condition");
$temp_c = get_google_xml_data($element, "temp_c");
echo '天氣:', $condition, '<br />';
echo '溫度:', $temp_c, '<br />';

function get_utf8_string($content) { // 將一些字元轉化成utf8格式
$encoding = mb_detect_encoding($content, array('ASCII','UTF-8','GB2312','GBK','BIG5'));
return mb_convert_encoding($content, 'utf-8', $encoding);
}

function get_google_xml_data($element, $tagname) {
$tags = $element->getElementsByTagName($tagname); // 取得所有的$tagname
if ($items->length > 1) {
return $items;
}
$tag = $tags->item(0); // 獲取第一個以$tagname命名的標簽
if ($tag->hasAttributes()) { // 獲取data屬性
$attribute = $tag->getAttribute("data");
return $attribute;
}else {
return false;
}
}
?>
2、返回支付的xml報文:
<?xml version="1.0"?>
<xml_api_reply version="1">
<weather mole_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
<forecast_information>
<city data="Shenzhen, Guangdong"/>
<postal_code data="shenzhen"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2009-10-05"/>
<current_date_time data="2009-10-04 05:02:00 +0000"/>
<unit_system data="US"/>
</forecast_information>
<current_conditions>
<condition data="Sunny"/>
<temp_f data="88"/>
<temp_c data="31"/>
<humidity data="Humidity: 49%"/>
<icon data="/ig/images/weather/sunny.gif"/>
<wind_condition data="Wind: mph"/>
</current_conditions>
</weather>
</xml_api_reply>
3、列印解析結果:

print $html;

㈣ php將XML轉換成字元串!

$str = $xml->asXML();

$str就是你要的字元串

㈤ php把xml轉換為字元串

樓主我教你吧,首先xml文件里的內容為

<?xmlversion="1.0"encoding="ISO-8859-1"?>
<content
<name>lishi</name>
<age>17</age>
</content>

讀取xml文件內容

$str=file_get_contents($xml);$xml為xml文件路徑地址


將讀取的字元串內容轉化為xml對象

$obj=simplexml_load_string($str)


操作對象里的數據

$obj->name="lishi111";

$obj->age=77;


拼接新的字元串

$strNew="<?xml version='1.0' encoding='ISO-8859-1'?>";

$str.="<content><name>".$obj->name."</name";

$str.="<age>".$obj->age."</age></content>";


將新的字元串寫入xml文件

file_put_content($xml,$strNew);


最後一步拿分來吧,哈哈哈哈。有問題繼續。。。

㈥ xml用php解析是重命名php文件嗎

xml用大肢態php解析不是重命名php文件,用到了php的simplexml_load_file()方法,該方法會將xml文件生成一個SimpleXMLElement對象,該對象是繼承了Traversable介面的對象,即可以像數組那樣飢嫌遍歷其子集。
這樣,我們滾源就可以循環得到xml文件的內容

㈦ PHP怎麼解析微信支付結果返回的xml

$xml = $GLOBALS['HTTP_RAW_POST_DATA'悶搏];
json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);轉成數組,
或者直接銀罩頃使用微信支付WxPayDataBase類鋒陸下的
$wxPaydata->FromXml($xml)轉化數組

㈧ php 解析xml

看著這些代碼,好厲害的樣子,程序員

㈨ php如何解析多級xml報文

在該示例中,simplexml_load_file 函數用於載入 XML 文件並將其作為 SimpleXMLElement 對象返回。然後,我們可以使用 children() 方法訪問根節點的所有子節點,並使用 getName() 方法獲取每個子節點的名稱兄蠢。接下來,我們可以繼續使用銀肆 children() 方法訪問每個子節點的所有子節點,以此類推,直到達到所需的級羨搏陪別。

㈩ PHP中用simpleXML解析XML文檔,為什麼總出錯

你說的「而且單個測試都沒問題」只是抽樣測試脊差野,並不是測試全部。應該有至少一個XML格式是不正確的。如果你加慶握了我的代碼,應該會輸出這個不正確的XML的內容。你把這個內容貼出來給你看看,沒有什麼機密吧?如果可以的話,加網路HI。賬號:everalan

你加我的代碼後,有執行到die($xml)這一行嗎?有的話把輸出的XML內容發過來幫你分析一下

應該是XML本身的格式就不正確,自然解析失敗櫻喊
try{
$xmld = new SimpleXMLElement($xml);
}catch(Exception $e){
die($xml);
}

這樣出錯的時候就能知道那個XML是什麼內容就知道哪裡錯了

閱讀全文

與php解析xml字元串相關的資料

熱點內容
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:737
方舟編譯器現在可提速哪些軟體 瀏覽:58
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:602
蘋果13如何加密視頻 瀏覽:813
linuxweblogic緩存 瀏覽:67
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:377
找pdf 瀏覽:530
與伺服器連接斷開如何處理 瀏覽:833
伺服器維修預計十分鍾什麼意思 瀏覽:170
黑馬程序員主打教學是什麼 瀏覽:41
python九乘法表怎麼編寫 瀏覽:974
思維方式pdf 瀏覽:656
tcc社區app怎麼注冊 瀏覽:941
央視網下載加密 瀏覽:455
命令行訪問伺服器 瀏覽:37