PHP SimpleXML

Ang SimpleXML ay nangangasiwa sa pinakakaraniwang mga gawain ng XML, habang ang ibang mga gawain ay pinapagkakaloob sa iba pang extension.

Ano ang SimpleXML?

Ang SimpleXML ay isang bagong katangian sa PHP 5. Sa pagkakilala ng layout ng XML document, ito ay isang madaling paraan para makuha ang attribute at text ng element.

Kumpara sa DOM o Expat parser, ang SimpleXML ay magamit ng ilang linya ng code para mabasa ang text data mula sa element.

Maaaring baguhin ng SimpleXML ang XML document sa object, tulad ng:

  • Element - ang iisang attribute na nangagbabagay bilang SimpleXMLElement object. Kapag mayroong maraming element sa parehong antas, sila ay ilalagay sa array.
  • Attribute - pinag-aaral sa pamamagitan ng kaugnay na array kung saan ang index ay tumutukoy sa pangalan ng attribute.
  • Element data - ang text data na mula sa element ay nangagbabagay bilang string. Kung ang isang element ay may maraming text node, sila ay magtatala ayon sa kanilang pagkakaroon.

Kapag ginagawa ang mga pangunahing gawain tulad ng sumusunod, ang SimpleXML ay masyadong mabilis na gamitin:

  • Pag-basa ng XML file
  • Pag-extract ng data mula sa XML string
  • Pag-edit ng text node o attribute

Gayunpaman, kapag ginagamit ang mas napakalalaking XML, tulad ng namespace, mas mabuti ang gamitin ang Expat parser o XML DOM.

Pag-install

Simula sa PHP 5.0, ang SimpleXML function ay bahagi ng pangunahing bahagi ng PHP. Hindi kailangan ng pag-install para gamitin ang mga function na ito.

Ginagamit ang SimpleXML

Ang mga sumusunod ay ang XML file:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

我们打算从上面的 XML 文件输出元素的名称和数据。

这是需要做的事情:

  1. 加载 XML 文件
  2. 取得第一个元素的名称
  3. 使用 children() 函数创建在每个子节点上触发的循环
  4. 输出每个子节点的元素名称和数据

例子

<?php
$xml = simplexml_load_file("test.xml");
echo $xml->getName() . "<br />";
foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
  }
?>

以上代码的输出:

note
to: George
from: John
heading: Reminder
body: Don't forget the meeting!

更多有关 PHP SimpleXML 的信息

如需更多有关 PHP SimpleXML 的信息,请访问我们的 PHP SimpleXML 参考手册