AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi MS XML liest XML-File aus Internet nicht
Thema durchsuchen
Ansicht
Themen-Optionen

MS XML liest XML-File aus Internet nicht

Ein Thema von CalganX · begonnen am 22. Apr 2004 · letzter Beitrag vom 23. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

MS XML liest XML-File aus Internet nicht

  Alt 22. Apr 2004, 22:13
Hi,
langsam verstehe ich MSXML nicht mehr. OmniXML kommt mit Internetfiles gar nicht zu Recht und MS XML sagt mir, dass die Daten noch nicht bereit ständen:
Delphi-Quellcode:
  xmlDoc.load(IDS_URL);
  xmlPosts := xmlDoc.selectNodes('/database/entry'); // hier kommt der Fehler
  len := xmlDatas.Length;
  if len > 20 then len := 20;

  for i:=0 to len-1 do begin
    // tu was...
  end;
An der markierten Stelle sagt mir MS XML:
Fehlermeldung
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt dpX_ShoutViewer.exe ist eine Exception der Klasse EOleException aufgetreten. Meldung: 'Die für diesen Vorgang erforderlichen Daten sind noch nicht verfügbar'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------


Die Datei wird aus dem Internet heruntergeladen. Woran kann das liegen? Normalerweise wartet MS XML doch, bis die Daten geladen sind, oder?

Chris

[edit]Btw: es geht hier nicht zwingend um die ShoutBox... Ich schreibe gerade an einer Software für die Verwaltung von Kundendaten via XML und Internet. Zufälligerweise werde ich MSXML auch beim ShoutBox-Programm verwenden, deswegen liegt mir eine Lösung des Problems sehr am Herzen. [/edit]
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: MS XML liest XML-File aus Internet nicht

  Alt 22. Apr 2004, 22:38
Eigentlich würde ich dir zustimmen. Wenn ich die Shoutbox (oder eine andere XML-Datei) mit meinem JavaScript lade, dann klappt´s ja auch. Bzw. es geht ja auch mit dem kleinen Programm, das ich kurzzeitig mal im entsprechenden Thread vorgestellt habe. Das holte sich ja auch die Shoutbox-Daten von der DP und transformierte sie dann bloß für die Ausgabe im TWebBrowser.

Was hast du noch für Eigenschaften gesetzt?
Delphi-Quellcode:
xmldoc.async := false;
xmldoc.resolveExternals := false;
usw.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 06:43
Also bei mir funktioniert es auch ohne das Setzen irgendwelchen zusätzlichen Eigenschaften.

Mein Code (@Luckie: Aus dem Konstruktor einer Klasse, die sich in einer Extra-Unit befindet ):
Delphi-Quellcode:
  XMLDoc := CoDOMDocument40.Create();
  XMLDoc.setProperty('NewParser', True);
  XMLDoc.load(FILENAME);
  if XMLDoc.parseError.errorCode = 0 then
  begin
    Nodes := XmlDoc.documentElement.childNodes;
    // ...
  end;
  // ..
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 06:52
Jetzt wird es etwas offtopic, aber ich sehe das gerade bei dir mirage. Wenn das wirklich Teil deines Codes ist, dann ist er nicht sehr "schön". Ich denke man sollte die Möglichkeiten nutzen die einen Delphi mit OOP bereitstellt und mit Klassen arbeiten. Desweiteren halte ich es für sinnvoll die GUi von der Funktionalität zu trennen.

Aber das sollte hier an dieser Stelle nicht weiter diskutiert werden. Ich wollte es nur mal hier anmerken, da ich es gerade gesehen habe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 08:24
Zitat von mirage228:
Also bei mir funktioniert es auch ohne das Setzen irgendwelchen zusätzlichen Eigenschaften.
Genau deshalb habe ich ja gefragt. Evtl. hat Chakotay ein paar Sachen aktiviert, die den Zugriff auf die Datei verhindern.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 13:56
Hi,
keine einzige, sprich nur NewParser.

Chris
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#7

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 14:25
A) Verzichte mal drauf. IMHO brauchst du das eigentlich nicht. So ganz schlau werde ich aus der Erklärung im PSDK (PSDK öffnen, und Adresse "ms-help://MS.PSDK.1033/xmlsdk/htm/xml2nd_pro_v4_5pde.htm" kopieren) nämlich nicht.

B) Lagert diese XML-Datei (oder etwas ähnliches) auf deinem Server? Dann könnte ich ja mal den Zugriff versuchen. Wenn Ja, dann schick mir den URL am besten via PM, wenn du nicht möchtest, dass Jedermann auf deinen Server zugreift.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 14:32
Hi,
versuchs mal mit der hiesigen ShoutBox. Ich habe gerade mit der Software richtig angefangen und habe das gleiche Problem. Allerdings scheint es mal zu funktionieren und mal nicht. Jetzt zeigt er keinen Fehler mehr an, dafür aber auch keinen Inhalt.

Chris
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#9

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 14:52
Soeben ausprobiert.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  xmldoc : DomDocument40;
  nl : IXMLDOMNodeList;
  i : integer;
begin
  xmldoc := CoDomDocument40.Create;
  if(xmldoc <> nil) then
  try
    xmldoc.async := false;
    xmldoc.validateOnParse := false;
    xmldoc.resolveExternals := false;

    if(xmldoc.load('http://www.delphipraxis.net/rdf.php?shoutbox=1')) then
    begin
      nl := xmldoc.selectNodes('/rdf/shout');
      ShowMessage(Format('%d <shout>-Knoten gefunden',[nl.length]));

      if(nl.length > 0) then
      begin
        i := Random(nl.length); // "Randomize" nicht vergessen

        ShowMessage(nl.item[i].xml);
      end;
    end;
  finally
    xmldoc := nil;
  end;
end;
So geht´s. Ich bekomme nur eine Zugriffsverletzung, wenn ich auf
    xmldoc.async := false; verzichte. Ansonsten sah ich als zufällige Meldung gerade die von himitsu um 11:35:
Zitat:
Du möchtest nicht wissen, ...
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: MS XML liest XML-File aus Internet nicht

  Alt 23. Apr 2004, 15:02
Hi,
jepp. So funktionierts.

Danke,
Chris
  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 10:18 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