php 如何输出XML文件?

php 如何输出XML文件?,第1张

echo不就出来了?XML和PHP也有相互转换的函数
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;
}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存