⑴ php 如何解析xml格式字元串
//假設xml字元串
$postStr = '<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[FromUser]]></FromUserName><CreateTime>123456789</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[p1]]></Content></xml>';
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
var_mp($postObj);
/**
object(SimpleXMLElement)[16] public 'ToUserName' => string 'toUser' (length=6) public 'FromUserName' => string 'FromUser' (length=8) public 'CreateTime' => string '123456789' (length=9) public 'MsgType' => string 'text' (length=4) public 'Content' => string 'p1' (length=2)
*/
//把xml字元串解析為對象
⑵ 如何用php生成xml文件 高手進入 有加分
可以使用php里的dom,如下:
$xmlStr=[文件位置];
$dom
=
new
DOMDocument('1.0');
$dom
->loadXML($xmlStr);
//根
$vogue=$dom->createElement('vogue');
$dom->appendChild($vogue);
//第一級子目錄
$level0=$dom->createElement('level0');
//第一級子目錄的屬性
$attr=$dom->createAttribute('parentTypeID');
$attr->appendChild($dom->createTextNode('-1'));
........
//保存
$dom->saveXML($xmlStr);
但是我更推薦使用print來列印後輸入文件。
因為dom的輸出無法分行,樣例如下:
<?php
$books
=
array();
$books
[]
=
array(
'title'
=>
'PHP
Hacks',
'author'
=>
'Jack
Herrington',
'publisher'
=>
"O'Reilly"
);
$books
[]
=
array(
'title'
=>
'Podcasting
Hacks',
'author'
=>
'Jack
Herrington',
'publisher'
=>
"O'Reilly"
);
?>
<books>
<?php
foreach(
$books
as
$book
)
{
?>
<book>
<title><?php
echo(
$book['title']
);
?></title>
<author><?php
echo(
$book['author']
);
?>
</author>
<publisher><?php
echo(
$book['publisher']
);
?>
</publisher>
</book>
<?php
}
?>
</books>
⑶ 如何在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();
?>
⑷ php將XML轉換成字元串!
$str = $xml->asXML();
$str就是你要的字元串
⑸ php輸出xml內容
PHP生成XML的方法很多,這里演示最基本,最簡單的字元串構造法。就是使用字元串構造或者拼接成xml數據格式,然後輸出或者生成xml文件。
<?php
$data=array(
array(
'title'=>'',
'country'=>'china',
'name'=>'網路',
),
array(
'title'=>'google',
'country'=>'usa',
'name'=>'谷歌',
)
);
//構造xml數據格式
$xml="<?xmlversion="1.0"encoding="utf-8"?> ";
$xml.="<data> ";
foreach($dataas$itm){
//循環構造xml單項
$item="<item> ";
$item.="<title>".$itm['title']."</title> ";
$item.="<country>".$itm['country']."</country> ";
$item.="<name>".$itm['name']."</name> ";
$item.="</item> ";
$xml.=$item;
}
$xml.="</data> ";
//輸出xml數據
echo$xml;
?>
生成的數據格式如下:
⑹ 怎樣通過php程序返回xml格式的數據
無論是返回 json 還是 xml 數據,區別僅在於數據的格式。
返回 xml 格式數據示例如下:
<?php
//指示返回數據格式為xml
header('Content-Type:text/xml');
?>
<?xmlversion="1.0"encoding="utf-8"?>
<?php
//構造xml
//$xmldata="
//<data>
//<site_name>$site[name]</site_name>
//........
//<data>";
echo$xmldata;
?>
⑺ 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);
最後一步拿分來吧,哈哈哈哈。有問題繼續。。。