php把xml转换为字符串

发布网友

我来回答

2个回答

热心网友

楼主我教你吧,首先xml文件里的内容为

<?xml version="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);


最后一步拿分来吧,哈哈哈哈。有问题继续。。。

追问可是我不是用的文件读取的 是从前台提交过来的xml字符串 simplexml_load_string
加载的字符串 而且我是要保存的数据库的 不是写文件 我试着用过 asXml 可是一转 中文就变成编码了 不是中文了 不知道可有好的解决方法

追答不是用的文件读取的 是从前台提交过来的xml字符串 的话你可以先用file_put_contents把字符串写入一个xml文件,再读取出来操作。要保存数据库去的话,直接把对象的值赋过去就可以啦

热心网友

你直接使用file_get_contents() 读出xml文件。追问可是我不是用的文件读取的 是从前台提交过来的xml字符串 simplexml_load_string
加载的字符串 而且我是要保存的数据库的 不是写文件 我试着用过 asXml 可是一转 中文就变成编码了 不是中文了 不知道可有好的解决方法

追答通过前台提交的,是通过post提交过来的吗?
可以通过$GLOBALS['HTTP_RAW_POST_DATA'] 去接收xml

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com