首页>建站相关>php利用SimpleXML模块解析xml文件

php利用SimpleXML模块解析xml文件

本来想用一个xml文件来获取不断更新的数据,接触这个模块后,发现似乎不能在顶部插入节点,比如有个channel节点,插入子节点始终只能从底部插入,但博主又希望新的内容在channel节点的头部。每次重新装配节点似乎过于复杂,考虑利用json数据来做同样的工作,花了半天时间学习SimpleXML,暂且记录一下学习过程中用到的命令。

读取本地文件

<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');
 
    print_r($xml);
} else {
    exit('Failed to open test.xml.');
}
?>

保存为文件

    $file = fopen('NhkRadio.xml','w') ;
    fwrite($file, $xml->asXML() );
    fclose($file);

增加子节点

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character  = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');
 
echo $sxe->asXML();

?>

SimpleXML值转换为字符串

无论SimpleXML子项的值有多少项,如果直接赋值操作得到的都会是一个数组,有时候我们只是想提取到子项的值,不想连格式也一并拿过来,这个时候需要多加一步转换为字符串的操作:

//返回的是一个数组
$item -> title
//返回的是一个字符串
$item -> title -> __toString();

标签: PHP

移动端可扫我直达哦~

推荐阅读

php 2024-04-24

Php中数组array的定义增删等相关操作

PHP 中的 array 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型针对多种不同用途进行了优化; 它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。 由于 arr...

建站相关 PHP

php 2024-04-19

php获取远程xml文件并保存到本地

“自从联盟和部落并肩作战,共同抵抗燃烧军团的入侵已经过去了四年。”…错了,自从上次利用rm -rf清洗掉:“虾比比”站点的数据,已经过去了两年。曾经利用php获取远程文件并保存到本地的知识如同部落和联盟之间脆弱的协议,早已荡然无存。倒...

建站相关 PHP

php 2023-10-27

为博客文章添加是否已被百度收录的提示信息

部分主题里在文章的标题栏下方会显示一些文章的相关信息,比如目录啊,作者啊,文章的发布日期等等。其中也有包含文章是否被百度收录的,本身“小鸟数据”这个站点配置了“sitemap.xml”,也提交了百度,是否收录就我为鱼肉了。但是偶尔还是...

建站相关 PHP

php 2023-05-03

php中的替代语法switch的冒号写法

最早接触php语句,是尝试查看wordpress模板的源代码。所以相比常规的大括号写法,更为熟悉的反而是这类带冒号的写法。真正尝试过修改模板之后,会真切体会到这种书写方式的便利。它使得HTML和PHP混合页面代码更加干净整齐,也使代码...

建站相关 PHP

php 2022-10-25

php该用什么命令打印数组

对于wordpress的命令不熟悉,echo打印值的时候经常返回一个array对象。如果不知道array的内部结构,提取具体数据就无从下手,所以有时候我们会想要打印出数组的所有内容,以观察该数组的数据结构。php中有两个命令可以在屏幕...

建站相关 PHP

php 2022-10-22

php在线解压解决免费空间压缩包过大问题

用过一段国外的免费空间,一般都是白天访问速度凑合,一到晚上半天打不开后台页面,前台还是可以访问的,也就比白天慢几条街。因为白天要上班,所以一般博主也就晚上打开站点学习一下建站呀修改主题呀之类的操作,由于正常使用时间段完美被错开,所以最...

建站相关 PHP

php 2022-10-22

php中的单引号和双引号

解析变量上的区别PHP会解析双引号中的变量,而不会解析单引号中的变量。也就是说,如果使用单引号定义的字符串中出现变量,在输出时变量会被原样输出,不会解析成变量的值。而如果使用双引号定义的字符串中存在变量,在输出时变量会被解析为具体的值...

建站相关 PHP

php 2022-10-21

后台php如何与前端js进行数据交换

想用js获取wordpress的options中的部分数据,查询到几种数据交换的方法,先做个记录,后续补完。同页面内的数据交换需要获取的是json数据,直接用php在页面中echo变量,页面上的js可以直接使用options变量,很方...

建站相关 PHP

php 2022-10-17

php对于json数据的编码与解码

想实现一个wordpress后台,跟着阿树工作室的教程学习。自己php基础薄弱,看到利用类实现后台的章节就跟不上了,刚好学到js的极简方法实现一个类,考虑能否在前台用类实现页面,将页面数据汇总成json,统一提交给后台,这样就避开了不...

建站相关 PHP

php 2022-10-13

php中的in_array()函数

in_array()函数搜索数组中是否存在指定的值。如果search参数是字符串且type参数被设置为 TRUE,则搜索区分大小写。in_array的语法in_array(search,array,type) 参数 描述 ...

建站相关 PHP

php 2022-10-12

centos下yum安装php7.4remi源

一直使用centos7.x版本,利用yum工具安装一些软件,centos的更新与默认软件选择都相对保守,centos7.x版本中yum默认来源的php版本一般都是php5.4,到了centos8.x版本,php版本才更新为php7.2...

建站相关 PHP

php 2022-10-11

php如何筛选出数组中不需要的数据

利用cmd命令窗口的dir命令显示目录时,会在目录顶端看到两个特殊目录,分别是“.”——指向目录自身,以及“..”——指向上一级目录,在linux系统中,如果输入以下命令,也能看到这两个钉子户:ls -all 用php的scandir...

建站相关 PHP