xml_parser_create — 建立一个 XML 解析器
xml_parser_free — 释放指定的 XML 解析器如果你使用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);<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>";
}
>
php 中有个内置类可以用来 *** 作XML, 简单说下
$xmlData = "<xml><name>来自上海</name></xml>"; // xml 数据$doc = new DOMDocument();
$doc -> loadXML($xmlData); // 加载XML数据
$root = $doc -> documentElement; // 获取根节点对象
$items = $root -> getElementsByTagName('name'); // 获取 name 节点
echo $items[0] -> nodeValue; // 输出获取到的所有节点中的第一个节点的值
foreach ($items as $value) {
echo $value -> nodeValue; // 输出节点中的值
}
PHP生成XML的方法很多,这里演示最基本,最简单的字符串构造法。就是使用字符串构造或者拼接成xml数据格式,然后输出或者生成xml文件。
<php$data = array(
array(
'title' => 'baidu',
'country' => 'china',
'name' => '百度',
),
array(
'title' => 'google',
'country' => 'usa',
'name' => '谷歌',
)
);
//构造xml数据格式
$xml = "<xml version=\"10\" encoding=\"utf-8\">\n";
$xml = "<data>\n";
foreach ($data as $itm) {
//循环构造xml单项
$item = "<item>\n";
$item = "<title>" $itm['title'] "</title>\n";
$item = "<country>" $itm['country'] "</country>\n";
$item = " <name>" $itm['name'] "</name>\n";
$item = "</item>\n";
$xml =$item;
}
$xml = "</data>\n";
//输出xml数据
echo $xml;
>
生成的数据格式如下:
用户输入输出函数(fopen() file()require(),只能用于调用这些函数有相同脚本的拥有者) 2:创建新文件(限制用户只在该用户拥有目录下创建文件) 3:用户调用popen() systen()exec()等脚本,只有脚本处在sa fe_mode_exec_dir配置指令指定的 录中才可能 4:加强>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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)