xml數組php
A. php 數組索引鍵值對 怎麼轉xml
php數組轉換xml有好幾種方法,這里演示最簡單的一種:拼接xml格式數據。如果是多維數組需要另行處理,但套路基本一致。示例如下:
//測試
$arr=array(
"name"=>"網路",
"url"=>""
);
echoarrayToXml($arr);
/*轉換結果
*<?xmlversion="1.0"encoding="utf-8"?>
*<name>網路</name>
*<url></url>
*</xml>
*/
//array轉換成xml格式函數
functionarrayToXml($arr){
$xml="<?xmlversion="1.0"encoding="utf-8"?>";
foreach($arras$key=>$val){
$xml.="<".$key.">".$val."</".$key.">";
}
$xml.="</xml>";
return$xml;
}
B. 如何用php讀取xml內容並並放入數組
用不到正則。要某一個<results>只要指定索引值即可。
C. 淘寶API返回xml如何解析成PHP數組
DOMDocument模式。將xml文檔看成一個DOM模型通過對節點的操作來完成對xml文檔的CURD;
步驟;1.首先是創建一個DOMDocument文檔對象,並讀取指定的xml文件
$xmldoc=new DOMDocument();
$xmldoc->load("text.xml");
2.獲取xml的節點 與相關操作
$roots=$xmldoc->getElementsByTagName("school")//獲取根節點shcool,獲取的根節點xmlnodelist列表形式,可指定獲取的指定的節點
$root=$roots->item(0);//獲取節點列表中的第一個節點
$root->nodeValue;//獲取標簽的文本內容;
下面我我們以獲取所有的girl標簽的文本來為例;<?php
$xmldoc=newDOMDocument();
$xmldoc->load("text.xml");
$classes=$xmldoc->getElementsByTagName("class");//獲取班級class節點
//echo$classes->length;
for($i=0;$i<$classes->length;$i++){
$class=$classes->item($i);
if($class->nodeValue){
$stus=$class->getElementsByTagName("stu")->item(0);//獲取每一個班級下的stu標簽節點
$girl=$stus->getElementsByTagName("girl")->item(0)->nodeValue;//獲取每一個節點girl的文本
echo$girl."<br/>";
}
}
?>
<school> <class班號="b001">
<stu>
<girl>28</girl>
<boy>22</boy>
</stu>
</class>
<class班號="b002">
<stu>
<girl>28</girl>
<boy>22</boy>
</stu>
</class>
<class班號="b003">
<stu>
<girl>28</girl>
<boy>22</boy>
</stu>
</class>
<class/>
</school>
3.對於xml文件的添加刪除和更新域javascript中的DOM操作一樣,只要創建相關的節點即可,並將相關的節點掛載到DOM樹上;
自己總結的,看下你就明白了
D. 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 '';
}
}
?>
E. PHP 里如何實現數組轉 xml 並且格式化
simplexml_load_string可以把xml解析成對象,然後可以用var_mp進行解析。\r\nphp內部庫並沒有包含直接把xml解析成數組的模塊。\r\n而且xml本來包含節點概念,解析成對象以後可以直接訪問每一個節點,而數組相對就要難以理解的多。\r\n因此解析成數組並不比解析成對象有多少優勢。\r\n如果你對數組實在有需求的話,可以自己寫一個庫,並不會太難。
F. 怎麼用PHP讀取XML中的數據
<?php
$xml_array=simplexml_load_file('test.xml'); //將XML中的數據,讀取到數組對象中
foreach($xml_array as $tmp){
echo $tmp->b."-".$tmp->c."<br>";
}
?>
G. 多維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;
}
H. PHP怎麼把提取到的XML數據轉換成三維數組
functionxmlToArray($xml)
{
//將XML轉為array
$array_data=json_decode(json_encode(simplexml_load_string($xml,'SimpleXMLElement',LIBXML_NOCDATA)),true);
return$array_data;
}
I. php讀取XML文件,並解析成數組
simplexml_load_string可以把xml解析成對象,然後可以用var_mp進行解析。
php內部庫並沒有包含直接把xml解析成數組的模塊。
而且xml本來包含節點概念,解析成對象以後可以直接訪問每一個節點,而數組相對就要難以理解的多。
因此解析成數組並不比解析成對象有多少優勢。
如果你對數組實在有需求的話,可以自己寫一個庫,並不會太難。
J. php 怎麼將數組轉xml的函數
沒有現成函數,只能自己寫;我有一個別人寫的函數:
<?php
class A2Xml {
private $version = '1.0';
private $encoding = 'UTF-8';
private $root = 'root';
private $xml = null;
function __construct() {
$this->xml = new XmlWriter();
}
function toXml($data, $eIsArray=FALSE) {
if(!$eIsArray) {
$this->xml->openMemory();
$this->xml->startDocument($this->version, $this->encoding);
$this->xml->startElement($this->root);
}
foreach($data as $key => $value){
if(is_array($value)){
$this->xml->startElement($key);
$this->toXml($value, TRUE);
$this->xml->endElement();
continue;
}
$this->xml->writeElement($key, $value);
}
if(!$eIsArray) {
$this->xml->endElement();
return $this->xml->outputMemory(true);
}
}
}
$res = array(
'hello' => '11212',
'world' => '232323',
'array' => array(
'test' => 'test',
'b' => array('c'=>'c', 'd'=>'d')
),
'a' => 'haha'
);
$xml = new A2Xml();
echo $xml->toXml($res);