AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi [IXMLDOMDocument2] Nicht deklarierte Entität.
Thema durchsuchen
Ansicht
Themen-Optionen

[IXMLDOMDocument2] Nicht deklarierte Entität.

Ein Thema von xZise · begonnen am 17. Feb 2008 · letzter Beitrag vom 18. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

[IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 09:38
Hallo DP,
ich versuche gerade ein Feed ein zu lesen.
Um die Zeit zu überbrücken, in der ich auf die Antwort warte, habe ich es so gemacht, dass er eine Datei lädt (um zu testen, in wie weit das funktioniert.
Ergebnis:
Delphi-Quellcode:
xml := CoDOMDocument40.Create;

xml.setProperty('NewParser', true);
xml.load(AFilename);
Nun bekomme ich folgenden Fehler (xml.parseError.reason):
Zitat:
Nicht deklarierte Entität.
Woran könnte das liegen?
Als Beispiel RSS habe das aus der Wikipedia genommen.
Ich hänge es mal an.

[edit=1]Ich habe mir mal ein kleinen Feed selber zusammengetippt, und dort meckert er nicht rum?[/edit]
[edit=2]Durch unzähliges Herumprobieren weiß ich endlich woran es liegt: Er kommt nicht mit "" zurecht. Wenn man das löscht, dann funktioniert er Ordnungsgemäß![/edit]

MfG
xZise
Angehängte Dateien
Dateityp: txt test_141.txt (1,5 KB, 4x aufgerufen)
Dateityp: txt feed_187.txt (704 Bytes, 3x aufgerufen)
Dateityp: txt test_198.txt (1,3 KB, 6x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 10:18
Hallo Fabian,

ist dem XML-Parser nicht einfach so als Entity bekannt. Entweder du verwendest stattdessen ein character entity * oder du musst solche Entities in einer DTD definieren. Normalerweise tritt das Problem aber nur durch Medienbrüche auf.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 11:18
Zitat von marabu:
[...] ist dem XML-Parser nicht einfach so als Entity bekannt. Entweder du verwendest stattdessen ein character entity * oder du musst solche Entities in einer DTD definieren. Normalerweise tritt das Problem aber nur durch Medienbrüche auf.[...]
Also, da es durchaus auch bei anderen RSS Feeds sein könnte:
Was ist ein Character Entity, und wie definiert man diese Entities?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 11:46
Da ist mir etwas missglückt und du hast nur noch die Lücke sehen können:

Zitat von marabu:
... ein character entity   oder ...
XML Character References
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 12:09
Aber andere Entitäten sind ihm bekannt: z.B.
Code:
>
o.Ä.

Und das hieße: Datei downloaden > "&" durch "&#" ersetzen > Einlesen ? Und was ist, wenn das kein Entität ist (Also z.B.: A & B statt eigentlich A & B)?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 13:23
Die XML Spezifikation definiert fünf Character Entities: & > < ' " - mehr muss ein XML-Parser nicht kennen.

Was du da von Download und Ersetzen schreibst verstehe ich nicht. Magst du es näher erklären?
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 17:56
Zitat von marabu:
[...]Magst du es näher erklären?
Natürlich:
Ich habe ein RSS Feed.
Denn downloade ich von der jeweiligen Website.
Und dannach habe ich ja einen String mit dem Inhalt. Jetzt ist die große Frage, was man damit machen soll:
Möglicherweise sind die Entitäten nicht ausreichend (""). Was mache ich nun damit der Parser das versteht?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 19:14
Ganz klar: Dem WebMaster Bescheid geben, der den RSS-Feed verbrochen hat. Wenn irgendwelche Entities enthalten sind, die der XML-Parser nicht kennt, dann ist der RSS-Feed fehlerhaft.

Die Frage, wie du einem XML-Parser unbekannte Entities antrainieren kannst, hatte ich bereits in Beitrag #2 (DTD) beantwortet.

Wie besorgst du dir denn den RSS-Feed? Kannst du mir einen URL geben?
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 17. Feb 2008, 21:29
Zitat von marabu:
[...]Wie besorgst du dir denn den RSS-Feed? Kannst du mir einen URL geben?
Naja ^^ Dieser Feed ist aus der Wikipedia kopiert Das Beispiel ^^

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: [IXMLDOMDocument2] Nicht deklarierte Entität.

  Alt 18. Feb 2008, 05:36
Der von dir in Beitrag #1 angehängte RSS-Feed (Wikipedia) ist doch korrekt, da sind keine unbekannten Entities enthalten. Du darfst stets von einem korrekten RSS-Feed ausgehen. Treten Fehler auf, dann sind es nicht deine Fehler. Für die Bekanntmachung von weiteren Entities ist der Ersteller des RSS-Feed zuständig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz