Joomla! Programmierung/Framework/JFactory/getXMLParser
Aus Joomla! Dokumentation
JFactory/getXMLParser Liefert eine Referenz zu einem globalen XML Parser Objekt. Wird nur neu erstellt, wenn es noch nicht existiert. Es sind verschiedene Parser verfügbar.
Inhaltsverzeichnis |
[Bearbeiten] Syntax
static getXMLParser( [$type], [$options] )
- @return object Das geparste XML Dokument Objekt
- @since
- Deprecated - nutzen Sie JFactory::getXML() oder JFactory::getFeedParser()
| Parameter | Datentyp | Beschreibung | Standardwert |
|---|---|---|---|
| [$type] | string | Der Typ des XML Parsers, der geladen werden soll (not case-sensitive). Siehe weiter unten für alle unterstützten Typen. | |
| [$options] | array | Ein Array von Optionen, die helfen den XML Parser zu konfigurieren. Ist abhängig vom gewählten Parser. | array() |
Die aktuell unterstützten XML Parser sind:
| $type | Parser |
|---|---|
| rss | Der SimplePie Parser für RSS Feeds. Die Feed URL kann in $options['rssUrl'] übergeben werden. Die Cache Laufzeit kann in $options['cache_time'] übergeben werden.
|
| atom | Synonym für 'rss'. |
| simple | Der JSimpleXML Parser. |
| dom | Der DOMIT! Parser. Wenn $options['lite'] auf true gesetzt ist, wird der DOMIT Lite Parser geladen.
|
[Bearbeiten] Beispiele
[Bearbeiten] XML Datei parsen
In diesem Beispiel wird der JSimpleXML Parser genutzt um alle vordefinierte Modulpositionen aus dem Rhuk Milkyway Template zu laden.
$xml = JFactory::getXMLParser( 'simple' ); $xml->loadFile( 'templates/rhuk_milkyway/templateDetails.xml' ); $positions = $xml->document->getElementByPath( 'positions' ); foreach ($positions->children() as $position) { echo $position->data() . "\n"; }
Die Ausgabe lautet:
breadcrumb left right top user1 user2 user3 user4 footer debug syndicate
[Bearbeiten] Siehe auch
- JFactory->getXMLParser() auf api.joomla.org
- JSimpleXML
- DOMIT!
- SimplePie
[Bearbeiten] Quellcode
{ $doc = null; { case 'rss' : case 'atom' : $doc = self::getFeedParser($options['rssUrl'], $cache_time); break; case 'simple': // JError::raiseWarning('SOME_ERROR_CODE', 'JSimpleXML is deprecated. Use self::getXML instead'); jimport('joomla.utilities.simplexml'); break; case 'dom': $doc = null; break; default : $doc = null; } return $doc; }
[Bearbeiten] Quellcode 1.5
JFactory->getXMLParser() in Joomla! 1.5.22
{ $doc = null; { case 'rss' : case 'atom' : { { jimport ('simplepie.simplepie'); $options['cache_time'] = 0; } $simplepie = new SimplePie( $options['rssUrl'], JPATH_BASE.DS.'cache', ); $simplepie->force_feed(true); $simplepie->handle_content_type(); if ($simplepie->init()) { $doc = $simplepie; } else { } } } break; case 'simple' : { jimport('joomla.utilities.simplexml'); } break; case 'dom' : default : { { jimport('domit.xml_domit_lite_include'); $doc = new DOMIT_Lite_Document(); } else { jimport('domit.xml_domit_include'); $doc = new DOMIT_Document(); } } } return $doc; }