hier eine kleine Klasse von mir,
die es erlaubt XML Strukturen nach Wunsch zu parsen,
und dann mit Iterator Funktionalitäten auf die Inhalte zuzugreifen.
die es erlaubt XML Strukturen nach Wunsch zu parsen,
und dann mit Iterator Funktionalitäten auf die Inhalte zuzugreifen.
PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
/**
* Klasse um XML Dateien zu parsen und per Iterator auf die Daten zuzugreifen
*
* @version $Id: xml_reader.class.php,v 1.1 2008-10-01 07:47:00 sven Exp $
* @author Sven Denkert
* @todo Übernahme von Attributen der Tags
**/
class Xml_Reader implements Iterator {
private $data = null; // enthält die geparsten XML Daten
private $def = array(); // enthält den XML Aufbau
private $pointer = null; // Pointer für die Iterator Methoden
/**
* Konstruktor
*für die ungekürzte Fassung bitte einloggen
Nutzung:
PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// XML Aufbau definieren
$def =
array( 'urlset' =>
array( 'url' =>
array( 'loc', 'changefreq', 'lastmod', 'priority' ) ) );
// URL zum abrufen
$url = 'http:// ... DOMAIN ... /sitemap.xml';
// Objekt erzeugen
$obj = new Xml_Reader( $def );
// Daten laden mit 5 Sekunden Timeout
if( $obj->loadUrl( $url, 5 ) ) {
// Anzahl der enthalten URLs
echo "enthaltene URL: ".$obj->urlset->count()."\n";
// alle URL's ausgeben
do {
echo( $obj->urlset->url->loc )."\n";
}while( $obj->urlset->next() );
}