以上代码在实际处理中可能会遇到数据丢失,SSL出错等情况,所以使用simplexml_load_stringsimplexml_lo,秉承网络共享原则,分享网络资源,Windows系统下载,网络建站技术分享">
    当前位置:
  1. 首页 »
  2. 知识 »
  3. 正文

PHP处理XML数据及转JSON数组simplexml_load_file和simplexml_load_string

零分 1,610

转换 XML 文件为 SimpleXMLElement 对象,然后输出对象的键和元素:

<?php
$xml=simplexml_load_file("note.xml");
print_r($xml);
?>

以上代码在实际处理中可能会遇到数据丢失,SSL出错等情况,所以使用simplexml_load_string

simplexml_load_string:转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML;
 
$xml=simplexml_load_string($note);
print_r($xml);
?>

在请求XML链接时,先用curl获取xml源码

$url="";
$xmldata = curl_get($url);
$xml=simplexml_load_string($xmldata );

在实际使用中,可能还会遇到数据丢失的情况,所给simplexml_load_string加上对象classname和options

$url="";
$xmldata = curl_get($url);
$xml=simplexml_load_string($xmldata,"SimpleXMLElement",LIBXML_NOCDATA);

数据转成json格式:

$url="";
$xmldata = curl_get($url);
$xml=json_decode(json_encode(simplexml_load_string($xmldata,"SimpleXMLElement",LIBXML_NOCDATA)));

simplexml_load_string和simplexml_load_file参数:

参数描述
data必需。规定形式良好的 XML 字符串。(simplexml_load_file是xml的链接url)
classname可选。规定新对象的 class。
options可选。规定附加的 Libxml 参数。通过指定选项为 1 或 0(TRUE 或 FALSE,例如 LIBXML_NOBLANKS(1))进行设置。
可能的值:
。LIBXML_COMPACT – 激活节点的优化配置(可加速应用程序)
。LIBXML_DTDATTR – 设置默认的 DTD 属性
。LIBXML_DTDLOAD – 装载额外的子集
。LIBXML_DTDVALID – 验证 DTD 有效性
。LIBXML_NOBLANKS – 删除空节点
。LIBXML_NOCDATA – 将 CDATA 设置为文本节点
。LIBXML_NOEMPTYTAG – 扩展空标签(例如到),仅在 DOMDocument->save() 和 DOMDocument->saveXML() 函数中有效
。LIBXML_NOENT – 替代实体
。LIBXML_NOERROR – 不显示错误报告
。LIBXML_NONET – 装载文档时停止访问网络
。LIBXML_NOWARNING – 不显示警告报告
。LIBXML_NOXMLDECL – 当存储一个文档时放弃 XML 声明
。LIBXML_NSCLEAN – 删除多余的名称空间声明
。LIBXML_PARSEHUGE – 设置 XML_PARSE_HUGE 标志,用来放宽解析器的任何强制限制。这将影响诸如文档的最大深度和文本节点大小限制等。
。LIBXML_XINCLUDE – 使用 XInclude 替代
。LIBXML_ERR_ERROR – 获取可纠正的错误
。LIBXML_ERR_FATAL – 获取致命错误
。LIBXML_ERR_NONE – 不获取错误
。LIBXML_ERR_WARNING – 获取简单警告
。LIBXML_VERSION – 获取 libxml 版本(例如 20605 或 20617)
。LIBXML_DOTTED_VERSION – 获取带点的 libxml 版本(例如 2.6.5 或 2.6.17)
ns可选。规定命名空间前缀或 URI。
is_prefix可选。规定一个布尔值。如果 ns 是前缀则为 TRUE,如果 ns 是 URI 则为 FALSE。默认是 FALSE。
标签:

PHP mkdir() 创建相对路径、绝对路径及多层目录

PHP mkdir()在使用绝对路径创建多层文件夹是一直出错,相对路径时正常! mkdir("dir/dir",0777) //正常创建目录 mkdir(dirname(dirname(__FILE__))."/dir/dir",0777) //创建失败 试过多次,一直失败,设置递归模式,创建成功! mkdir(dirname(dirname(__FILE__))."/dir/dir",0777,true) //创建成功 PHP mkdir()语法参数: mkdir(path,mode,recursive,context) path:必需。规定要创建的目录的名称。mode:可选。规定权限。默认
笔记 1,574

php foreach 循环跳过和退出

php foreach循环,当遇到某个条件跳过continue,和退出break。 continue,跳过,例 $array=array(1,2,3,4,5,6,7,8,9,10); foreach($array as $a){ if($a==5){ continue;//跳过 } echo $a."<br>------------------<br>"; } 当$a=5的时候,不输出,跳过,后面继续输出 结果: 1 ------------------ 2 ------------------ 3 ------------------ 4 ------------------ 6
教程 2,098

.avif是什么格式,.avif图片怎么打开?.avif格式图片怎么转成.jpg图片?

.avif是什么文件格式? .avif是图片格式,已经有很多地方使用.avif格式的图片,如淘宝。 AVIF 是由开放媒体联盟开发的一种图像文件格式,任何人都可以使用。它可以使用无损或有损压缩来存储带有“.avif”文件扩展名的静止图像和动画图像。 AVIF 代表 AV1 图像文件格式,因为它使用 AV1 压缩。它被广泛视为 HEIC(高效图像容器)的替代品,它使用 HEVC(高效视频编码)而不是较新的 AV1。 如果您感到困惑:AV1 压缩最终将取代旧的 HEVC 标准。由于旧的 HEIC 容器依赖于 HEVC,因此 AVIF 作为一种新的图像格式被引入,它利用了更新的 AV1 压缩。 .a
知识 1,889

php file 与 file_get_contents函数

简单的讲: file读取文件以数组形式返回,file_get_contents读取文件以字符串形式返回! 比如读取一个data.txt的文本文件。 <?php     $file=file("data.txt");     $file_get_contents=file_get_contents("data.txt");    echo "file 数组,一行一个!<br><br>";    print_r($file);    echo "<br><hr>file_get_contents,字符串。<br><br>";    print_r($fil
知识 2,611

JQ各种top,height,width区分

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight:获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度 offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 offsetTop:
知识 2,149