如何在 PHP 中读取 XML 文件 (SimpleXML)

2023-10-24

SimpleXML 是 PHP 5 中引入的 PHP 扩展。它允许用户在 PHP 中轻松处理 XML 数据。 SimpleXML 将任何 XML 数据转换为可以使用普通属性选择器和数组迭代器轻松处理的对象。

您必须已安装php-simplexml在您的系统上进行扩展以使用本教程的示例。

示例 XML 文件

以下是本教程使用的示例 XML 文件。 XML 文件名是员工.xml您将在本教程的更多示例中看​​到。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>
Tom名字>
Cruise姓氏>
MD名称>
500000工资>
员工>
Tyler名字>
Horne姓氏>
CEO名称>
250000工资>
员工>
公司>

读取特定的 XML 元素

使用 simplexml_load_file 函数在 PHP 程序中加载外部 XML 文件并创建一个对象。之后,您可以通过该对象访问 XML 中的任何元素,如下所示。

1
2
3
4
5
<?php
  $xmldata = simplexml_load_file(“员工.xml”) or die(“加载失败”);
  echo $xmldata->employee[0]-> . “”;
  echo $xmldata->employee[1]->;
?>

Output:


Tom
Tyler
  

如果 XML 文件在远程服务器上可用,您可以使用 XML 文件的 HTTP URL,如下所示:

1
2
3
4
5
<?php
  $xmldata = simplexml_load_file(“https://tecadmin.net/employees.xml”) or die(“加载失败”);
  echo $xmldata->employee[0]-> . “”;
  echo $xmldata->employee[1]->;
?>

循环读取 XML 元素

在此示例中,我们使用 foreach 方法迭代整个 XML 文件并从 XML 中读取元素。 Foreach 循环访问对象的所有子对象。

1
2
3
4
5
6
7
8
9
<?php
$xmldata = simplexml_load_file(“员工.xml”) or die(“加载失败”);
foreach($xmldata->children() as $empl) {
echo $empl-> . ", ";    
echo $empl->lastname . ", ";    
echo $empl->指定 . ", ";        
echo $empl->salary . “”;
}
?>

Output:


Tom, Cruise, MD, 500000
Tyler, Horne, CEO, 250000
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中读取 XML 文件 (SimpleXML) 的相关文章

  • 如何在mySQL数据库中安全地插入代码

    我正在构建一个网站 用户可以使用 PHP 和 mySQL 数据库来存储代码片段 但我不知道如何安全地将用户输入的代码插入我的数据库 我无法使用我通常使用的 安全 功能来转换输入 trim stripslashes等 因为重点是您可以将代码视
  • Joomla 2.5 中基于类别的文章的替代布局

    目前 我的 Joomla 2 5 安装中的文章有 2 个 布局 default php default links php feature link php feature link php 当在 文章管理器 的 替代布局 下的 编辑文章
  • Python 独有的 XML 规范化 (xml-exc-c14n)

    在 Python 中 我需要规范化 c14n XML 字符串 我可以使用哪个模块 包来实现此目的 我应该怎么做 我更喜欢使用默认的 python 2 7 模块 无需额外安装或补丁 参考见 http www w3 org TR xml exc
  • 带代理的 PHP CURL 导致套接字上的 CLOSE_WAIT

    我正在使用 PHPcurl 库来建立连接并从 WEB 检索内容 通常 我有多个 SOCKS5 代理服务器在 localhost 上运行 端口从 10300 到 10350 PHP 随机选择一个端口 My code ch curl init
  • 重新排列关联数组的最优雅的方法是什么?

    假设你有一个关联数组 hash Fruit Apple hash Name Jeff hash Car Ford 并且您无法更改这些变量的创建顺序 因此 Car 总是在 Name 等之后添加到数组中 将 Car 添加 移动到关联数组的开头而
  • 处理表单的最佳实践

    我想知道处理表单处理的最佳实践是什么 就我而言 我做了类似的事情 if the user hasn t submited the form 显示表格 else if there are form errors 显示错误 再次显示表格 els
  • PHP/Apache 中的输出缓冲块如何工作?

    假设我将随机数据从 PHP 回显到浏览器 随机数据总量约为 XGb 回显以 YKb 块的形式完成 不使用 ob start PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞 客户端无法以与生成数据相同的速度使用数据 如果是
  • 我应该将 PHP include/require 语句放在 HTML 中的什么位置?

    我在文件中创建了一个 PHP 类 现在我想在 HTML 页面中使用它 我应该把它放在哪里require or includeHTML 页面内的声明 有没有表现在 HTML 的开头或结尾加载它之间的区别 还是根本没有区别 应该是在 PHP 脚
  • 使用 cURL 发布数据时出现“位置参数”错误

    如果我要在没有 data 它工作得很好 我试过谷歌 但找不到这个问题的任何答案 按照位于的指示here https guides instructure com m 4214 l 83393 how do i install and use
  • 通过php在csv单元格中创建回车符

    我正在尝试动态生成一个 csv 文件 其中包含一些包含多行的单元格 例如 地址字段需要分组为单个 地址 单元格 而不是地址 城市 州等 一切进展顺利 但在过去的两天里 我尝试在代码中插入 r r n n chr 10 chr 13 以及回车
  • 我们可以在 Mysql 查询中使用 PHP 函数 strtotime [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下 MySQL 语法 这给了我一个错误 我知道你不能直接比较日期变量 所以我使用strtotime创建 Unix 时间戳来比较日
  • 服务中有很多依赖项

    我在服务层的应用程序中遇到依赖关系问题 我有以下课程
  • Codeigniter - 仅当数据库中不存在电子邮件时才更新电子邮件

    我为我的用户提供了一个更新页面 他们可以在其中编辑他们的姓名 电子邮件和其他信息 到目前为止 他们可以编辑一切 包括他们的电子邮件 他们可以毫无问题地输入数据库中已存在的电子邮件 我尝试添加此表单验证规则 this gt form vali
  • cron 作业或 PHP 调度程序

    我使用 MYSQL 作为我的数据库 PHP 作为我的编程语言 我想运行一个 cron 作业 该作业将运行直到当前系统日期与我的数据库表中名为 PROJECT 的 截止日期 日期 列匹配 一旦日期相同的是 必须运行更新查询 这会将状态 项目表
  • 尽管有 FOLLOWLOCATION,但仍使用 cURL 获取 301

    尽管使用了 FOLLOWLOCATION 和 MAXREDIRS 我还是收到了 301 错误 我不知道该怎么做 我尝试了一切我能做的 HEADER为0 FOLLOWLOCATION为1 MAXREDIRS为30 多次更改USERAGENT
  • 将订单总重量添加到 WooCommerce 新订单电子邮件通知

    是否可以在 WooCommerce 新订单 电子邮件通知 针对管理员 中显示订单的总重量 这是挂钩在 woocommerce email after order table 操作挂钩中的自定义函数 它将在 新订单 电子邮件通知中显示总重量
  • 如何使用 php 将文本区域中的链接转换为链接元素?

    我正在创建一个脚本 它包含一个发布脚本 但我希望用户直接从其他任何地方复制链接 当他们发布链接文本时 链接文本应自动将链接转换为链接元素 a 例如 Ask this on http stackoverflow com now 成为 Ask
  • 获取 png 图像的像素的 alpha 值?

    我正在使用以下代码 img imagecreatefrompng image png col imagecolorat img x y alpha col gt gt 24 0x7F 但 alpha 值始终为 127 即使像素位于 x y
  • 更新 Laravel 路由文件没有效果

    我正在尝试创建一个视图来显示数据库中的数据 但我发现我的路线文件不再执行任何操作 目前我正在尝试让测试功能正常工作 但是当我去 test它只是说 找不到网页 其他路线有效 即使我删除所有内容并保存文件 所有其他路线都可以工作 我努力了art
  • hreflang 应该如何构建?

    我的问题是 应该像上面的所有页面一样 或者应该用每个页面的实际 url 进行更改 例如

随机推荐

  • 如何在 Ubuntu 18.04 上禁用防火墙

    Ubuntu 附带了一个名为 UFW 简单防火墙 的防火墙配置工具 UFW 是一个用户友好的前端 用于管理 iptables 防火墙规则 其主要目标是使管理防火墙规则更容易 或者顾名思义 不复杂 强烈建议保持防火墙启用 但是 在某些情况下
  • 如何在 Debian 9 上安装 Jenkins

    Jenkins是一个开源自动化服务器 提供了一种设置持续集成和持续交付 CI CD 管道的简单方法 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付 CD 是自动构建
  • 如何在 Debian 10 上配置 MySQL (MariaDB) 主从复制

    MySQL 复制是将数据从一台数据库服务器 主服务器 复制到一台或多台服务器 从服务器 的过程 MySQL 支持多种复制拓扑 其中主 从拓扑是最著名的拓扑之一 其中一台数据库服务器充当主服务器 而一台或多台服务器充当从服务器 默认情况下 复
  • 如何在 Ubuntu 18.04 上安装 Ghost

    Ghost 是一个构建在 Node js 平台之上的现代源代码发布平台 它完全可定制且易于使用 使您可以以几乎零的学习曲线发布内容 在本教程中 我们将向您展示如何使用 Nginx 作为代理 免费的 Let s Encrypt SSL 证书
  • 使用 NumPy 范数计算向量和矩阵范数

    在线性代数中 范数是为向量空间中的每个向量分配严格正的长度或大小的函数 它是矢量大小的度量 从数学上来说 对于一个向量x the p 范数定义为 x p sum xi p 1 p 在本教程中 我们将使用numpy linalg norm f
  • 在 Pandas query() 中使用字符串方法:数据帧过滤

    The Pandas 中的 query 方法允许您过滤数据帧 并且当与字符串方法结合使用时 可能性变得广泛 在本教程中 您将学习如何在query 功能来细化和过滤数据 目录 hide 1 检查子字符串 str contains 2 str
  • Seaborn histplot(用直方图可视化数据)

    Seaborn 是最广为人知的数据可视化库之一 运行在Matplotlib 通过 Seaborn 我们可以渲染各种类型的绘图 并提供简单 直观且高度可定制的 API 来生成数据可视化 如果没有丰富的可视化 就很难理解数据并与数据进行交流 想
  • Kivy 教程 – 使用 Python 构建桌面 GUI 应用程序

    Kivy 是一个开源 Python 库 您可以使用它在 Windows Linux macOS Android 和 iOS 上创建应用程序 我们将讨论如何使用 Kivy 按钮 标签 回收视图 滚动视图 Kivy Canvas 和其他小部件来
  • NumPy 矩阵乘法(从理论到实际示例)

    矩阵乘法是线性代数中的基本运算 它采用一对矩阵并产生另一个矩阵 用数学术语来说 给定两个矩阵 A 和 B 乘积 AB 是通过 A 的行与 B 的列的点积来计算的 本教程旨在深入了解矩阵乘法NumPy 目录 hide 1 逐元素与矩阵乘法 2
  • Python相关矩阵教程(使用Pandas)

    在本博客中 我们将介绍一个重要的多变量数据描述性统计量 称为相关矩阵 我们将学习如何在 Python 中使用以下命令创建 绘制和操作相关矩阵Pandas 我们将讨论以下主题 目录 hide 1 What is the correlation
  • Shell 脚本编写分步教程

    在本教程中 我们将讨论 shell 脚本以及如何制作第一个 shell 脚本 它们通常被称为 shell 脚本 但我们将它们称为 Bash 脚本 因为我们将在其他 Linux shell 中使用 Bash 有 zsh tcsh ksh 和其
  • 使用 Curl 命令下载文件:综合指南

    本教程深入探讨使用以下命令下载文件的方法卷曲命令 我们将介绍 HTTP 下载 安全 HTTPS 传输 使用 FTP 服务器的基础知识 甚至浏览分段下载和速度调整等高级功能 目录 hide 1 下载到标准输出 2 下载并保存到文件 3 验证
  • 使用 to_numpy() 将 Pandas DataFrame 转换为 NumPy 数组

    The DataFrame to numpy 函数 由提供Pandas库 提供了一种将 DataFrame 转换为NumPy 数组 它返回一个 ndarray NumPy 的基本数据结构 可以使用各种 NumPy 库函数轻松操作它 当您想要
  • Linux echo 命令:超越基础知识

    The echoLinux 中的命令允许您显示文本或将数据输出到终端 它可用于各种目的 例如打印变量的值 生成格式化输出 甚至调试脚本 在终端中尝试以下命令 echo Hello world 在这里 你好 世界 被打印到终端 这echo命令
  • 掌握 Python 时间模块:综合指南

    time 模块是Python 中的标准模块 使用 Python 时 包含与时间相关的操作至关重要 time模块提供了各种与时间相关的函数和方法 可以通过导入time模块来访问 import time 除非另有说明 时间模块表示自纪元以来的时
  • 如何编写实用的 shell 脚本

    在上一篇文章中 我们谈到了常用表达 我们看到了如何在 sed 和 awk 中使用它们进行文本处理 我们之前讨论过Linux sed命令和awk 命令 在这个系列中 我们编写了一些小的 shell 脚本 但我们没有把事情搞混 我认为我们应该更
  • Windows Server 事件日志备份脚本

    作为系统管理员 我们有责任备份并定期保存 Windows 服务器事件日志 另外 请将它们存储在外部驱动器或云存储上 我们建议每天备份事件日志并保留至少一年的备份 事件日志帮助我们对系统进行故障排除 这是一个批处理脚本 用于进行 Window
  • 出于安全原因,默认情况下禁用异常打印。错误日志记录号:xxxxxx

    安装 magento 时 如果您遇到如下问题 这是已知问题 Error Exception printing is disabled by default for security reasons Error log record numb
  • 如何在 Ubuntu 和 Linux Mint 上安装最新内核

    Ubuntu 和 Linux Mint 是两个流行的 Linux 发行版 被个人和组织广泛使用 使用 Linux 的好处之一是能够升级到最新的内核版本 在本文中 我们将指导您完成在 Ubuntu 和 Linux Mint 上安装最新内核的步
  • 如何在 PHP 中读取 XML 文件 (SimpleXML)

    SimpleXML 是 PHP 5 中引入的 PHP 扩展 它允许用户在 PHP 中轻松处理 XML 数据 SimpleXML 将任何 XML 数据转换为可以使用普通属性选择器和数组迭代器轻松处理的对象 您必须已安装php simplexm