Re: XML: Namespace - Zuweisung funktioniert nicht
Hallo marabu,
Zitat:
Zitat:
Nur leider kann man es sich oftmals nicht aussuchen, gerade dann, wenn einem die Zeit im Nacken sitzt. Aber in diesem Fall war es wohl tatsächlich eine absolute Fehlentscheidung :( Wahrscheinlich wäre ich wirklich schneller gewesen, wenn ich erst alle Themen in kleinen Beispielprojekten durchgegangen wäre :? Nun ja, dann tüftel ich jetzt mal noch ein bissel mit '/inputx/document' herum. Da aber Node := xmlDoc.selectSingleNode('/inputx/document') as IXMLDOMElement schon Nil geblieben ist, wird das wahrscheinlich wieder ein heilloses Unterfangen :| Trotzdem danke, dass Ihr Euch so bemüht :wink: |
Re: XML: Namespace - Zuweisung funktioniert nicht
Zitat:
Nun versteh mich bitte nicht falsch, aber was ist an deiner XML-Datei denn so "intern" oder "geheim" (in Ermangelung eines besseren Begriffs), dass du hier eine ähnlich strukturierte Datei postest, aber eben nicht das Original? Es sind manchmal Kleinigkeiten, die den Erfolg verhindern (Darsteller aus der P*rnobranche hören das oft :mrgreen:), und dazu gehört für mich eben, dass du einerseits die falsche Datei, aber den richtigen Code zeigst. Komm schon, Chinesen sind doch gar nicht anwesend ... :zwinker: |
Re: XML: Namespace - Zuweisung funktioniert nicht
Hehe :wink:
Geheimes steht da nicht drin - es ist nur so, dass die Datei gut 14 MB groß ist. Daher habe ich das Ganze etwas verkürzt nachgestellt. |
Re: XML: Namespace - Zuweisung funktioniert nicht
Bei dieser Dateigröße brauchst du schon gute Argumente dafür, dass du die ganze Datei als DOM-Dokument im Hauptspeicher hältst. Schau dir mal den Speicherverbrauch im Taskmanager an. Eventuell ist ja SAX eine bessere Lösung für dein Problem.
marabu |
Re: XML: Namespace - Zuweisung funktioniert nicht
Au Backe - daran habe ich gar nicht gedacht.
Und ist mir ehrlich gesagt auch gar nicht unangenehm aufgefallen - hmm, bei 2GB wohl auch kein Wunder :? Werde mir dieses SAX dann wohl auch mal zu Gemüte führen müssen. *Wuaaaaaaaaaa*heul* Danke für den Hinweis - das hätte derbe ins Auge gehen können :roll: |
Re: XML: Namespace - Zuweisung funktioniert nicht
Tjo,
habe nun wohl alle möglichen Kombinationen ausprobiert:
Delphi-Quellcode:
Ich denke mal, mehrere Möglichkeiten gibt es nicht mehr - RootNode ist jedenfalls immer NIL :|
RootNode := xmlDoc.selectSingleNode('inputx');
RootNode := xmlDoc.selectSingleNode('/inputx'); RootNode := xmlDoc.selectSingleNode('//inputx'); RootNode := xmlDoc.selectSingleNode('inputx/document'); RootNode := xmlDoc.selectSingleNode('/inputx/document'); RootNode := xmlDoc.selectSingleNode('//inputx/document'); RootNode := xmlDoc.documentElement.selectSingleNode('inputx'); RootNode := xmlDoc.documentElement.selectSingleNode('/inputx'); RootNode := xmlDoc.documentElement.selectSingleNode('//inputx'); RootNode := xmlDoc.documentElement.selectSingleNode('inputx/document'); RootNode := xmlDoc.documentElement.selectSingleNode('/inputx/document'); RootNode := xmlDoc.documentElement.selectSingleNode('//inputx/document'); Ich gebe es auf und lege den ganzen Kram ad acta - keine Lust mehr.... Vielen Dank trotzdem nochmal für Eure Unterstützung. Ihr konntet mir das Thema XML ein wenig näher bringen, auch wenn es für den finalen Erfolg nicht genügt hat - was aber wohl aus meiner eigenen Schusseligkeit resultiert. Vielleicht bin ich auch nicht offen genug, mich 100% auf das Thema einzulasssen - ich weiss es nicht. Einen positiven Nebeneffekt hat das Ganze jedoch gehabt - ich weiss nun endlich den VirtualTreeView grundlegend zu bedienen :stupid: |
Re: XML: Namespace - Zuweisung funktioniert nicht
Sascha, es müssten doch schon die ersten 5 Zeilen deiner Originaldaten reichen um dein Problem nachzustellen - oder?
marabu |
Re: XML: Namespace - Zuweisung funktioniert nicht
Okidoki, hier der Anfang der besagten XML-Datei:
XML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0"> <Document> <Folder> <name>My Places</name> <open>1</open> <Folder> <name>Ordner1</name> <open>1</open> <Placemark> <name>Placemark1</name> <LookAt> <longitude>10.37993318693747</longitude> <latitude>19.35357660723419</latitude> <range>743945.2733547823</range> <tilt>-1.858292979523515e-013</tilt> <heading>1.206473994247129</heading> </LookAt> <styleUrl>root://styleMaps#default+nicon=0x307+hicon=0x317</styleUrl> <Point> <coordinates>10.37993318693747,19.35357660723419,0</coordinates> </Point> </Placemark> |
Re: XML: Namespace - Zuweisung funktioniert nicht
Code:
für den obersten. Schreibweise beachten! XML legt Wert auf korrekte Groß- und Kleinschreibung der Knotennamen. So ist <Document> eben nicht <document>, usw.
/kml/Document/Folder
|
Re: XML: Namespace - Zuweisung funktioniert nicht
Also,
Du glaubst es jetzt wahrscheinlich nicht, aber
Delphi-Quellcode:
funktioniert nicht :gruebel: :wall:
procedure TfrmMain.toolbarButtons_btnOpenFileClick(Sender: TObject);
var nlist: ixmldomnodelist; Node: IXMLDOMElement; begin if OpenDialog1.Execute then begin xmlDoc := CoDomDocument40.Create; xmlDoc.async := False; sXMLFileName := OpenDialog1.FileName; xmlDoc.Load(sXMLFileName); Node := xmlDoc.documentElement.selectSingleNode('/kml/Document/Folder') as IXMLDOMElement; //Node := xmlDoc.selectSingleNode('/kml/Document/Folder') as IXMLDOMElement; showmessage(node.text); oStatusBar1.Panels[0].Caption := sXMLFileName; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 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