⑴ 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);
最后一步拿分来吧,哈哈哈哈。有问题继续。。。