多维PHP数组怎么转换成xml格式的数据

多维PHP数组怎么转换成xml格式的数据,第1张

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 赋给xmlstr
$xmlStr ='
<root>
<members>
<member>
<name>aaa</name>
</member>
<member>
<name>bbb</name>
</member>
<member>
<name>ccc</name>
</member>
<member>
<name>ddd</name>
</member>
</members>
<members>
<member>
<name>11</name>
</member>
<member>
<name>22</name>
</member>
<member>
<name>33</name>
</member>
<member>
<name>44</name>
</member>
</members>
</root>
';
$dom = new DOMDocument('10');
$dom ->loadXML($xmlStr);
$xml = simplexml_import_dom($dom);
echo $xml ->members[0]->member[0]->name; // aaa
echo $xml ->members[1]->member[0]->name; // 111
echo "<p>";
/
循环列出 第一个 members 的 name;
/
foreach($xml ->members[0] as $v)
{
echo $v->name"<br>";
}
>

如果你使用curl获取的xmldata\x0d\simplexml_load_string()函数把XML字符串载入对象中。\x0d\$xml=simplexml_load_string($xmlStr);\x0d\$json=json_encode($xml);\x0d\如果是直接获取URL数据的话\x0d\$xml=simplexml_load_file($data);\x0d\$json=json_encode($xml);

echo不就出来了?XML和PHP也有相互转换的函数
xml_parser_create — 建立一个 XML 解析器
xml_parser_free — 释放指定的 XML 解析器

第一种方法:
复制代码
代码如下:
<php
header("Content-type:
text/xml");
echo
"<xml
version=/"10/"
encoding=/"UTF-8/">";
echo
"<users>";
echo
"<user>";

echo
"<name>";

echo
"小小菜鸟";

echo
"</name>";

echo
"<age>";

echo
"24";

echo
"</age>";

echo
"<sex>";

echo
"男";

echo
"</sex>";
echo
"</user>";
echo
"<user>";

echo
"<name>";

echo
"艳艳";

echo
"</name>";

echo
"<age>";

echo
"23";

echo
"</age>";

echo
"<sex>";

echo
"女";

echo
"</sex>";
echo
"</user>";
echo
"</users>";
>
第二种方法:
复制代码
代码如下:
<php
header("Content-type:
text/xml");
echo
"<xml
version=/"10/"
encoding=/"UTF-8/">";
echo
"<users><user><name>小小菜鸟</name><age>24</age><sex>男</sex></user><user><name>艳艳</name><age>23</age><sex>女</sex></user></users>";
>
第三种方法:
复制代码
代码如下:
<php
/
用PHP的DOM控件来创建XML输出
设置输出内容的类型为xml
/
header('Content-Type:
text/xml;');
//创建新的xml文件
$dom
=
new
DOMDocument('10',
'utf-8');
//建立<response>元素
$response
=
$dom->createElement('response');
$dom->appendChild($response);
//建立<books>元素并将其作为<response>的子元素
$books
=
$dom->createElement('books');
$response->appendChild($books);
//为book创建标题
$title
=
$dom->createElement('title');
$titleText
=
$dom->createTextNode('PHP与AJAX');
$title->appendChild($titleText);
//为book创建isbn元素
$isbn
=
$dom->createElement('isbn');
$isbnText
=
$dom->createTextNode('1-21258986');
$isbn->appendChild($isbnText);
//创建book元素
$book
=
$dom->createElement('book');
$book->appendChild($title);
$book->appendChild($isbn);
//将<book>作为<books>子元素
$books->appendChild($book);
//在一字符串变量中建立XML结构
$xmlString
=
$dom->saveXML();
//输出XML字符串
echo
$xmlString;
>

出错的原因在于PHP程序输出编码和XML文件的编码不一致所导致 方法一: 使用utf-8编码,修改方法如下: 一把两个gb2312改为utf-8 二在xml文件上点右链,选择用记事本打开,另存为,编码由ansi改为,覆盖保存。 方法二: 直接设置PHP文件格式为

你的想法是正确的,不需要另外生成xml文件。你只需要把特定格式的数据发回去就好了
关于ajax,我建议你用jquery的封装函数ajax
使用方法如下:
testhtml
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401//EN"
">

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13367516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存