A. 如何將php返回的xml轉換成json數據
如果你使用curl獲取的xmldatax0dx0asimplexml_load_string()函數把XML字元串載入對象中。x0dx0a$xml=simplexml_load_string($xmlStr);x0dx0a$json=json_encode($xml);x0dx0a如果是直接獲取URL數據的話x0dx0a$xml=simplexml_load_file($data);x0dx0a$json=json_encode($xml);
B. 如何在php文件里寫xml
php文件里寫xml方法:
1、Xml代碼
<?php
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//屬性數組
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$string=<<<XML
<?xmlversion='1.0'encoding='utf-8'?>
<article>
</article>
XML;
$xml=simplexml_load_string($string);
foreach($data_arrayas$data){
$item=$xml->addChild('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$node=$item->addChild($key,$row);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key]))
{
foreach($attribute_array[$key]as$akey=>$aval){
//設置屬性值
$node->addAttribute($akey,$aval);
}
}
}
}
}
echo$xml->asXML();
?>
C. 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);
最後一步拿分來吧,哈哈哈哈。有問題繼續。。。
D. PHP中用simpleXML解析XML文檔,為什麼總出錯
你說的「而且單個測試都沒問題」只是抽樣測試脊差野,並不是測試全部。應該有至少一個XML格式是不正確的。如果你加慶握了我的代碼,應該會輸出這個不正確的XML的內容。你把這個內容貼出來給你看看,沒有什麼機密吧?如果可以的話,加網路HI。賬號:everalan
你加我的代碼後,有執行到die($xml)這一行嗎?有的話把輸出的XML內容發過來幫你分析一下
應該是XML本身的格式就不正確,自然解析失敗櫻喊
try{
$xmld = new SimpleXMLElement($xml);
}catch(Exception $e){
die($xml);
}
這樣出錯的時候就能知道那個XML是什麼內容就知道哪裡錯了