php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2005, 16:45  
Gast
 
Beiträge: n/a
Standard [Erledigt] Parser findet Handler nicht

Ich möchte Amazon-XML-Dateien parsen. Dafür hab ich eine Parser-Klasse geschrieben. Die Funktion, die den Parser startet, ist innerhalb der Klasse und die Funktionen (Handler) für die Elemente und die Inhalte sind auch in der Klasse. Beim Ausführen kommt jedoch folgender Fehler:

Warning: xml_parse() [function.xml-parse]: Unable to call handler endElement()

Woran könnte das liegen. Die Namen von der Zuweisung und der Funktion stimmen überein. Kann die Tatsache, dass alles in einer Klasse liegt, die Fehlerquelle sein und er schlichtweg die Funktion nicht findet, obwohl es die selbe Klasse ist?

Matthias
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.11.2005, 16:52  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von interound
und er schlichtweg die Funktion nicht findet, obwohl es die selbe Klasse ist
In der Klasse von xml_parse? Glaube ich nicht.
http://de3.php.net/manual/en/functio...nt-handler.php
Zitat:
Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

Aber zeig uns doch einfach mal den Code. Das ist viel leichter als rumraten.
  Mit Zitat antworten
Alt 14.11.2005, 16:55  
Gast
 
Beiträge: n/a
Standard

Code:
class amazonprodukt {	
	
	//---Variablen deklarieren---
	private $tag;
	private $parenttag;
	private $accesskey;
	public $titel;
	public $listenpreis;
	public $angebotspreis;
	public $bild;
	public $produktart;
	private $amazonlink;
	
	//---Handler für Startelement---
	function startElement($parser,$element_name,$element_attribute) {
		//---Position speichern---
		$this->tag = strtolower($element_name);
		}
	
	//---Handler für Endelement---
	function endElement($parser,$element_name) {
		//---Position löschen---
		$this->tag = "";
		//---voriges Element---
		$this->parenttag = strtolower($element_name);
		}
	
	//---Handler für Informationen der Tags---
	function cdata($parser,$element_inhalt) {
		//---je nach Element passende Variable füllen---
		switch($this->tag) {
			case "title": $this->title = $element_inhalt;
			break;
			case "formattedprice": if($this->parenttag == "listprice") { $this->listenpreis = $element_inhalt; }
			break;
			case "formattedprice": if($this->parenttag == "lowestnewprice") { $this->angebotspreis = $element_inhalt; }
			break;
			case "url": if($this->parenttag == "mediumimage") { $this->bild = $element_inhalt; }
			break;
			case "productgroup": $this->produktart = $element_inhalt;
			break;
			}
		}
	
	//---Ausführung des Parsens der XML-Datei---
	function get_infos($asin) {
		//---Link zur XML-Datei von Amazon erstellen---
		$this->amazonlink = "http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".$this->accesskey."&Operation=ItemLookup&IdType=ASIN&ItemId=".$asin."&ResponseGroup=Medium,OfferFull";
		//---XML-Datei von Amazon einlesen---
		$xmlFile = file($this->amazonlink);
		//---Parser erstellen---
		$parser = xml_parser_create();
		//---Handler für Start- und Endtags---
		xml_set_element_handler($parser,"startElement","endElement");
		//---Handler für Informationen der Tags---
		xml_set_character_data_handler($parser,"cdata");
		//---Parsen---
		foreach($xmlFile as $elem) {
			xml_parse($parser,$elem);
			}
		//---Ressourcen wieder freigeben---
		xml_parser_free($parser);
		}
	
	}
  Mit Zitat antworten
Alt 14.11.2005, 17:02  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Bruchpilot
http://de3.php.net/manual/en/functio...nt-handler.php
Zitat:
Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.
PHP-Code:
xml_set_element_handler($parser,array($this,"startElement"),array($this,"endElement")); 
  Mit Zitat antworten
Alt 14.11.2005, 17:08  
Gast
 
Beiträge: n/a
Standard

ich danke vielmals.

Jetzt habe ich zwar ein anders Problem gefunden, aber das bekomme ich ja vielleicht auch alleine hin Wenn nicht, komme ich wieder

Also nochmal: Vielen Dank für die schnelle Hilfe!

Matthias
  Mit Zitat antworten
Alt 14.11.2005, 17:12  
Gast
 
Beiträge: n/a
Standard

Dann aber erstmal länger selbst am Problem arbeiten.

http://www.phpfriend.de/forum/ftopic21515.html
Zitat:
Hier wird weder das Handbuch vorgelesen noch Suchanfragen formuliert. Das kannst Du schon, weil Du kein Anfänger mehr sein willst.
  Mit Zitat antworten
Alt 14.11.2005, 17:12  
Gast
 
Beiträge: n/a
Standard

ihr kennt nicht zufällig noch andere Verfahrensweisen, die ähnlich simpel sind?

Diese Verfahrensweise scheint doch sehr lange Ladezeiten nach sich zu ziehen.

Matthias
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
foreach in parser Klasse Simon9990 PHP Tipps 2006 10 17.01.2006 14:23
BBCode Parser Mutatos PHP Tipps 2006 1 05.01.2006 12:19
rss parser, der alle rss-versionen lesen kann janni PHP Tipps 2007 1 22.12.2005 10:15
[Erledigt] PEAR LOG file handler buffering funktioniert nicht PHP-Fortgeschrittene 0 16.12.2005 10:22
Programmierung Suche Händler im Umkreis xx Kilometer ... DonTermi PHP-Fortgeschrittene 3 05.09.2005 16:03
Callback handler kann nicht aufgerufen werden PHP Tipps 2005-2 4 21.08.2005 18:44
Verständnisfrage - XML mit Expat Parser PHP-Fortgeschrittene 3 18.10.2004 21:45
Probleme mit XMl Parser (Expat) PHP Tipps 2004 1 16.10.2004 22:49
error handler klasse oder sowas Beitragsarchiv 3 29.09.2004 21:15
Pc Händler Off-Topic Diskussionen 13 20.08.2004 09:18
Template Parser PHP Tipps 2004 10 23.07.2004 15:35
Template Parser Script Suckd PHP-Fortgeschrittene 2 11.07.2004 17:20
Suche Template Parser - Muss PHP Datein includen können Schaelle PHP Tipps 2004 0 01.07.2004 20:48
[Erledigt] parser PHP Tipps 2004 2 01.07.2004 10:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
amazon preise auslesen, amazon php parser, php findet funktion nicht, preis parser, unable to call handler cdata, amazon parser, warning: xml_parse() [function.xml-parse]: unable to call handler out_(), preis parsen, php xml unable to start handler, xml_parse unable to call handler, tag handler findet datei nicht, php class findet function nicht, preisanfrage eines amazonprodukts, warning: xml_parse() [function.xml-parse]: unable to call handler startelement() in, php warning: xml_parse() [function.xml-parse]: unable to call handler, warning: xml_parse(): unable to call handler startelement(), unable to call handler handletagcdata(), php findet function nicht, unable to call handler class, amazon parser php

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.