Autor Beitrag
mindtrap
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62



BeitragVerfasst: Di 05.08.08 16:52 
Hi,

die vom Firefox verwendeten RDF-Dateien machen mir momentan das Leben etwas schwer.
Ich versuche eigentlich nur die Childnodes auszulesen bzw. gezielt bestimmte Attribute.
Ein kleines Beispiel für eine solche Datei:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">

 <Description about="urn:mozilla:install-manifest">

   <em:id>{77b819fa-95ad-4f2c-ac7c-486b356188a9}</em:id>
   <em:name>IE Tab</em:name>
   <em:version>1.5.20080803</em:version>
   <em:description>Enables you to use the embedded IE engine within Mozilla/Firefox.</em:description>
   <em:creator>Hong Jen Yee (PCMan)</em:creator>
   <em:developer>yuoo2k</em:developer>
   <em:homepageURL>https://addons.mozilla.org/firefox/addon/1419</em:homepageURL>
   <em:optionsURL>chrome://ietab/content/ietabSetting.xul</em:optionsURL>
   <em:iconURL>chrome://ietab/skin/ietab-icon.png</em:iconURL>

...


Plan ist es hier z.B. an die Nodes id, name, version zu kommen.

Code sagt mehr als tausend Worte:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
  Doc := TXMLDocument.Create( Self );
  Doc.LoadFromFile( cExtPath + '\install.rdf' );
  Doc.Active := True;

  // Die MasterNode wird gefunden
  MasterNode := Doc.DocumentElement.ChildNodes.FindNode( 'Description', Doc.DOMDocument.namespaceURI );
  // ChildNode bleibt nil
  ChildNode  := MasterNode.ChildNodes.FindNode( 'em:id' );

  // ChildNode wird korrekt erkannt, aber eben nicht über die Suche
//  ChildNode := MasterNode.ChildNodes.First;

  while ( Assigned( ChildNode ) ) do
  begin

  end;


Ich habe verschiedene Varianten als Schlüssel versucht: "em:id", "id", namespaceuri + "id"... usw.
FindNode gibt immer nil zurück.
Arbeite ich mit .NextSibling etc. kann ich problemlos durch die Struktur gehen, brauche ich aber nicht.

Hier habe ich auch schon nach einer Antwort gesucht, aber entweder bin ich blind oder ignorant. oO

Vielleicht kann mir jemand weiterhelfen.

Thx

Hab das jetzt auch mal in der DP gepostet:
www.delphipraxis.net/post924579.html


Zuletzt bearbeitet von mindtrap am Do 07.08.08 04:31, insgesamt 1-mal bearbeitet
mindtrap Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62



BeitragVerfasst: Mi 06.08.08 19:46 
*help*

Die Lösung steht in der DP.

www.delphipraxis.net...st924951.html#924951