php中文网

PHP 函数如何与 XML 交互

php中文网

php 提供了以下函数用于 xml 交互:读取 xml:simplexml_load_file()、domdocument写入 xml:domdocument修改 xml:domxpath

PHP 函数如何与 XML 交互

PHP 提供了广泛的函数来处理 XML 文档,包括读取、写入和修改。本文将探索这些函数及其在实战中的应用。

读取 XML

simpleXML_load_file() 函数读取 XML 文件并将其作为 SimpleXMLElement 对象返回,该对象可以像数组一样访问:

$xmlDoc = simpleXML_load_file('data.xml');
echo $xmlDoc->title; // 输出 XML 中的标题

DOMDocument 类提供另一种解析 XML 的方法,它允许对文档进行更细致的控制:

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

$dom = new DOMDocument();
$dom->load('data.xml');
$title = $dom->getElementsByTagName('title')->item(0)->nodeValue;

写入 XML

DOMDocument 也可以用于创建和写入 XML 文档:

$dom = new DOMDocument();
$root = $dom->createElement('item');
$dom->appendChild($root);

$name = $dom->createElement('name', 'John Doe');
$root->appendChild($name);

$dom->save('data.xml');

修改 XML

使用 DOMXPath 类,可以修改现有 XML 文档:

$dom = new DOMDocument();
$dom->load('data.xml');

$xpath = new DOMXPath($dom);
$node = $xpath->query("//item[@id='1']")->item(0);
$node->setAttribute('active', 'true');

$dom->save('data.xml');

实战案例:从 XML 中提取数据

考虑下面这个 XML 文档:

<items>
  <item id="1">
    <title>Item A</title>
  </item>
  <item id="2">
    <title>Item B</title>
  </item>
</items>

使用 SimpleXML,我们可以获取标题:

$items = simpleXML_load_file('items.xml');
foreach ($items->item as $item) {
  echo $item->title . PHP_EOL;
}

使用 DOMXPath,我们可以过滤特定项:

$dom = new DOMDocument();
$dom->load('items.xml');

$xpath = new DOMXPath($dom);
$titles = $xpath->query("//item[@id='1']/title");
echo $titles->item(0)->nodeValue; // 输出 "Item A"

以上就是PHP 函数如何与 XML 交互的详细内容,更多请关注php中文网其它相关文章!