PHP SimpleXML

SimpleXML hanterar de mest vanliga XML-uppgifterna, medan övriga uppgifter överlämnas till andra utökningar.

Vad är SimpleXML?

SimpleXML är en ny funktion i PHP 5. Under förutsättning att du känner till layouten av XML-dokument är det ett bekvämt sätt att få tag på elementets egenskaper och text.

Jämfört med DOM eller Expat-parser kan SimpleXML läsa textdata från element med bara några rader kod.

SimpleXML kan konvertera XML-dokument till objekt, till exempel:

  • Element - Konverteras till SimpleXMLElement-objekt. När det finns flera element på samma nivå, placeras de i en array.
  • Egenskaper - Åtkomna genom att använda en kopplingsarray, där indexen motsvarar egenskapsnamnet.
  • Elementdata - Textdata från element konverteras till sträng. Om ett element har flera textnoder, ordnas de i den ordning de hittas.

När du utför grundläggande uppgifter som följande, är SimpleXML mycket snabbt att använda:

  • Läs XML-fil
  • Extrahera data från en XML-sträng
  • Redigera textnod eller egenskap

Men när det gäller att hantera avancerad XML, som namnrymdar, är det bäst att använda Expat-parser eller XML DOM.

Installera

Från PHP 5.0 började SimpleXML-funktionen vara en del av PHP-kärnan. Det är inte nödvändigt att installera för att använda dessa funktioner.

Använd SimpleXML

Nedan är en XML-fil:

<?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 参考手册