SimpleXML PHP

SimpleXML obsługuje najprostsze zadania XML, reszta zadań jest przekazywana do innych rozszerzeń.

Co to jest SimpleXML?

SimpleXML to nowa funkcja w PHP 5. Jest to wygodny sposób na uzyskanie atrybutów i tekstu elementów, jeśli masz wiedzę o układzie dokumentu XML.

W porównaniu do analizatorów DOM lub Expat, SimpleXML może odczytać dane tekstowe z elementów za pomocą kilku wierszy kodu.

SimpleXML może przekształcić dokument XML w obiekt, na przykład:

  • Element - pojedynczy atrybut konwertowany na obiekt SimpleXMLElement. Gdy na tym samym poziomie istnieje wiele elementów, są one umieszczane w tablicy.
  • Atrybuty - dostępne za pomocą tablicy asocjacyjnej, gdzie indeksy odpowiadają nazwom atrybutów.
  • Dane elementu - tekst danych elementu jest konwertowany na ciąg znaków. Jeśli element ma wiele węzłów tekstowych, są one ustawione w kolejności, w której są znalezione.

SimpleXML jest bardzo szybki w wykonywaniu podstawowych zadań, takich jak poniżej:

  • Odczytanie pliku XML
  • Wy抽出 dane z ciągu XML
  • Edytowanie węzłów tekstowych lub atrybutów

Jednak, podczas pracy z zaawansowanymi XML, takimi jak przestrzenie nazw, lepiej używać analizatora Expat lub XML DOM.

Instalacja

Od PHP 5.0, funkcja SimpleXML jest częścią rdzenia PHP. Nie wymaga instalacji, aby używać tych funkcji.

Używaj SimpleXML

Poniżej znajduje się plik XML:

<?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>

Zamierzamy wyświetlić nazwy i dane elementów z powyższego pliku XML.

To jest to, co musisz zrobić:

  1. Załaduj plik XML
  2. Uzyskaj nazwę pierwszego elementu
  3. Użyj funkcji children() do tworzenia pętli wywoływanej na każdym podelementie
  4. Wypisz nazwy i dane każdego elementu podelementu

Przykład

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

Wyjście kodu powyżej:

note
to: George
from: John
heading: Przypomnienie
body: Nie zapomnij o spotkaniu!

Więcej informacji o PHP SimpleXML

Aby uzyskać więcej informacji o PHP SimpleXML, odwiedź naszą Podręcznik SimpleXML w PHP.