phpxml轉換
① 如何將php返回的xml轉換成json數據
如果你使用 curl 獲取的 xml data
simplexml_load_string() 函數把 XML 字元串載入對象中。
$xml = simplexml_load_string($xmlStr);
$json = json_encode($xml);
如果是直接獲取 URL 數據的話
$xml = simplexml_load_file($data);
$json = json_encode($xml);
② 多維PHP數組怎麼轉換成xml格式的數據
public function arrayToXml($arr){
$xml = "<xml>";
foreach ($arr as $key=>$val){
if(is_array($val)){
$xml.="<".$key.">".arrayToXml($val)."</".$key.">";
}else{
if (is_numeric($val)){
$xml.="<".$key.">".$val."</".$key.">";
}else{
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
}
$xml.="</xml>";
return $xml;
}
③ 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);
最後一步拿分來吧,哈哈哈哈。有問題繼續。。。
④ php怎麼將xml轉換成數組
在處理文檔交互時,xml和json數據的處理是常見的需求。本文將簡述如何在PHP中將xml數據轉化為數組,方便重復利用。
轉換過程分為三個步驟:
- 首先,利用`simplexml_load_string()`或`simplexml_load_file()`方法將xml數據轉換為對象形式。前者適用於xml字元串,後者適用於xml文件路徑或網路url。
- 接著,對象需要通過`json_encode()`函數轉換為json格式的數據。
- 最後,使用`json_decode()`函數將json數據解析為數組。
對於這兩種方法,`simplexml_load_string()`適用於已有的xml字元串,而`simplexml_load_file()`則適用於從文件或網路獲取的xml數據。
按照上述步驟操作,你可以根據實際需求選擇使用以下兩種方法之一:
- 如果xml數據是字元串,使用`$array = json_decode(json_encode(simplexml_load_string($xmlString)), true);`
- 如果xml數據來自文件或url,先讀取文件或獲取數據,再進行轉換:`$fileContent = file_get_contents($xmlFile); $array = json_decode(json_encode(simplexml_load_string($fileContent)), true);`
請注意,在使用這些函數時,務必保留引用來源:出自藏羚骸的博客,標題為"php如何將xml轉換為數組"。
⑤ PHP XML Parser 函數的作用是什麼
PHP XML Parser 函數的作用是幫助開發者解析XML文檔。具體來說,它允許創建一個XML解析器,並為XML事件定義處理函數。通過這些函數,開發者可以在解析過程中執行特定的操作,例如數據提取、驗證或轉換。XMLParser函數提供了一種結構化的方式處理XML內容,使得解析過程更加靈活和高效。
在PHP中,XML Parser函數與解析器對象相結合使用。當XML文檔被解析時,解析器對象會調用用戶定義的函數,根據XML元素的類型和內容執行相應的操作。例如,當遇到XML文檔中的元素節點時,可以定義一個函數來處理該節點的內容和屬性。同樣地,當解析到文本節點時,也可以定義一個函數來處理文本內容。
使用XML Parser函數可以實現許多用途,例如從XML文檔中提取特定信息,構建數據結構,或用於數據導入和導出。通過定義不同的處理函數,開發者可以根據需求自定義解析過程,使得解析操作更加符合具體應用的邏輯。
例如,假設有一個XML文檔包含了一系列商品信息,每個商品都有名稱、價格和描述。通過定義處理函數,可以將這些信息提取出來,並構建一個商品列表,或者將其轉換為其他格式的數據結構,如數組或對象,以便進一步處理或存儲。
總之,PHP XML Parser 函數為開發者提供了一種強大的工具,用於解析和操作XML文檔。通過定義句柄函數,可以實現靈活的數據提取、驗證和轉換功能,從而滿足不同應用的需求。XML Parser函數在處理XML數據時發揮著關鍵作用,對於需要解析和操作XML文檔的應用來說,它是不可或缺的。
⑥ php 如何獲取XML 並轉成2維數組
<?php
/**
* 功能:解析xml數據轉換成二維數組
*
* @param string $dataXml
* @return array
*/
public static function getXmlData ( $strXml ) {
$pos = strpos($strXml, 'xml');
if ($pos) {
$xmlCode =simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
$arrayCode=self::get_object_vars_final($xmlCode);
return $arrayCode ;
} else {
return '';
}
}
?>
⑦ thinkphp 跨域獲取 xml 轉 json
php xml與json間的相互轉換
一,參考xml文件如下
查看復制列印?
<?xml version="1.0" encoding="UTF-8"?>
<humans>
<zhangying>
<name>張映</name>
<sex>男</sex>
<old>28</old>
</zhangying>
<tank>
<name>tank</name>
<sex>
<hao>yes</hao>
<aaaa>no</aaaa>
</sex>
<old>28</old>
</tank>
</humans>
二,xml轉換成json
利用simplexml
查看復制列印?
public function xml_to_json($source) {
if(is_file($source)){ //傳的是文件,還是xml的string的判斷
$xml_array=simplexml_load_file($source);
}else{
$xml_array=simplexml_load_string($source);
}
$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,請下載JSON.php
return $json;
}
三,json轉換成xml
利用遞歸函數
查看復制列印?
public function json_to_xml($source,$charset='utf8') {
if(emptyempty($source)){
return false;
}
$array = json_decode($source); //php5,以及以上,如果是更早版本,請下載JSON.php
$xml ='<!--l version="1.0" encoding="'.$charset.'-->';
$xml .= $this->change($array);
return $xml;
}
public function change($source) {
$string="";
foreach($source as $k=>$v){
$string .="<".$k.">";
if(is_array($v) || is_object($v)){ //判斷是否是數組,或者,對像
$string .= $this->change($v); //是數組或者對像就的遞歸調用
}else{
$string .=$v; //取得標簽數據
}
$string .="";
}
return $string;
}
上面的方法json_to_xml,可以支持<name>aaaa</name>,不支持<name type='test'>aaaaa</name>看代碼就能看明白。