Joomla! Programmierung/Framework/JFactory/getXML

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

JFactory::getXML() Liefert eine Referenz zu einem JXMLElement Objekt. Läd XML Dateien oder Strings mit Hilfe von PHP's SimpleXML

[Bearbeiten] Syntax

static getXML( $data, [$isFile] )
Parameter Datentyp Beschreibung Standardwert
$data string Kompletter Pfad und Dateiname oder ein XML String. ---
[$isFile] boolean false um einen String zu laden. true

[Bearbeiten] Beispiele

[Bearbeiten] XML Datei parsen

In diesem Beispiel wird der SimpleXML Parser genutzt um alle vordefinierte Modulpositionen aus dem Rhuk Milkyway Template zu laden.

$xml = JFactory::getXML(JPATH_ROOT.'/templates/rhuk_milkyway/templateDetails.xml');
 
foreach($xml->positions->position as $position) 
{
  echo $position."\n";
}

Die Ausgabe lautet:

breadcrumb
left
right
top
user1
user2
user3
user4
footer
debug
syndicate
position-1
position-2
position-3
position-4
position-5
position-6
position-7
position-8
position-9
position-10
position-11
position-12
position-13
position-14

[Bearbeiten] Quellcode

Joomla 11.1 JFactory::getXML()

Folder blue.png libraries/joomla

  • File php.png factory.php
  1. public static function getXML($data, $isFile = true)
  2. {
  3. jimport('joomla.utilities.xmlelement');
  4.  
  5. // Disable libxml errors and allow to fetch error information as needed
  6. libxml_use_internal_errors(true);
  7.  
  8. if ($isFile) {
  9. // Try to load the XML file
  10. $xml = simplexml_load_file($data, 'JXMLElement');
  11. }
  12. else {
  13. // Try to load the XML string
  14. $xml = simplexml_load_string($data, 'JXMLElement');
  15. }
  16.  
  17. if (empty($xml)) {
  18. // There was an error
  19. JError::raiseWarning(100, JText::_('JLIB_UTIL_ERROR_XML_LOAD'));
  20.  
  21. if ($isFile) {
  22. JError::raiseWarning(100, $data);
  23. }
  24.  
  25. foreach (libxml_get_errors() as $error)
  26. {
  27. JError::raiseWarning(100, 'XML: '.$error->message);
  28. }
  29. }
  30.  
  31. return $xml ;
  32. }

[Bearbeiten] Siehe auch

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge