PHP 函数如何返回一个 XML 节点

admin 阅读:78 2024-09-04

php 中,可通过 simplexml_load_string() 函数将 xml 字符串加载为 simplexmlelement 对象,再通过 -> 运算符访问节点。添加新节点可以使用 addchild() 方法,保存修改则用 asxml() 方法。

PHP 函数如何返回一个 XML 节点

PHP 函数如何返回 XML 节点

在 PHP 中,您可以使用 simplexml_load_string() 函数将 XML 字符串加载到 SimpleXMLElement 对象中。此对象可用于访问和操作 XML 文档。您可以使用 asXML() 方法将 SimpleXMLElement 对象转换为 XML 字符串。

语法

立即学习PHP免费学习笔记(深入)”;

$xml_node = simplexml_load_string($xml_string);

其中:

  • $xml_string 是要加载的 XML 字符串。
$xml_string = '<root><node>Hello world!</node></root>';
$xml_node = simplexml_load_string($xml_string);

获取 XML 节点

可以使用 -> 运算符访问 XML 节点。

$node = $xml_node->node;
$value = $node->asXML(); // 输出: <node>Hello world!</node>

创建 XML 节点

可以使用 addChild() 方法创建新的 XML 节点。

$new_node = $xml_node->addChild('new_node');
$new_node->addAttribute('id', '1');
$new_node->addChild('value', 'Test value');

保存修改

可以使用 asXML() 方法保存对 XML 文档所做的更改。

$xml_string = $xml_node->asXML();

实战案例

考虑以下 XML 文档:

<users>
  <user>
    <name>John Doe</name>
    <email>john.doe@example.com</email>
  </user>
  <user>
    <name>Jane Smith</name>
    <email>jane.smith@example.com</email>
  </user>
</users>

我们可以使用以下代码获取每个用户的名称和电子邮件地址:

$xml_string = '<users>
  <user>
    <name>John Doe</name>
    <email>john.doe@example.com</email>
  </user>
  <user>
    <name>Jane Smith</name>
    <email>jane.smith@example.com</email>
  </user>
</users>';

$xml_node = simplexml_load_string($xml_string);

foreach ($xml_node->user as $user) {
  echo $user->name . ' - ' . $user->email . '
'; }

输出:

John Doe - john.doe@example.com
Jane Smith - jane.smith@example.com
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!