Domino 9 und frühere Versionen > ND6: Entwicklung

[erledigt] XML Datei in die NSF importieren

<< < (3/5) > >>

flaite:
Sax Parser wäre hier schon objektiv die bessere Lösung, u.a. da er weniger Ressourcen verbraucht. Und wirklich u.a.
Aber da du schon mal so angefangen hast....
Es geht viel übersichtlicher.
Die uncoolere Lösung ist mit globalen Variablen zu arbeiten.
Ein bischen besser wäre
Ich präferiere auf Notes z.Zt. JDom mit XPath, aber das ist wohl völlig off.


--- Code: ---case DOMNODETYPE_ELEMENT_NODE:   

--- Ende Code ---
Du kannst jetzt hier machen:

--- Code: ---if nodename = "ul" then // für nodename s. api dokumentation
set doc = db.CreateDocument ' doc muss global sein!!!
doc.form = "urForm"
else if nodename = "node" then
schreib attribute x in notesItem y.
end if

--- Ende Code ---

Ist vielleicht nicht kristalklar. Ist aber schon spät.
Frag einfach nochmal nach.

Ein bischen besser wäre, wenn du der rekursiv aufgerufenen walkTree Methode als zweiten Parameter ein NotesDocument Objekt mitgeben würdest. 

thomasP:
Du kannst mal versuchen den Microsoft-XML-Parser zu benutzen.
Ich habe hier eine Lotus-Script-Klasse angehängt, mit der man XML-Dateien lesen kann und
selectiv auf bst. Konten ztugreifen kann ( XPATH).
Die Klasse ist auf bst.Problem zugeschnitten und umkommentiert, zeigt aber das Prinzip.

Es es möglich in Lotus-Script (fast alle) - Methoden zu benutzen.
Um die Beschäftigung mit dem Object-Modell und den verschiedenen Versionen des MS-XML-Parsers kommst Du aber nicht drum rum.
Ich selber benutzte diesen Parser in verscheidenen Notes-DBs um komplexes Inhalte zu manipulieren und u.a mit XSLT große Reports zu generieren (XML->HTML bzw. XML->PDF via FOP /Java).


http://msdn.microsoft.com/en-us/library/ms757828(VS.85).aspx

m3:

--- Zitat von: thomasP am 31.05.09 - 21:11:18 ---Es es möglich in Lotus-Script (fast alle) - Methoden zu benutzen.
--- Ende Zitat ---
... solange der Client unter Windows läuft ...

Ozan:
Hallo,

hier ist die Test-Datei(Anhang) nach der Verarbeitung, vielleicht könnt Ihr dann besseres Bild machen.

//Declaration
Public doc As NotesDocument
//Declaration


if nodename = "ul" then
 set doc = db.CreateDocument
 doc.form = "urForm"
else
 if nodename = "node" then
'  schreib attribute x in notesItem y.
 end if
end if

Sagt fehler "Object variable not set"

ascabg:
Hallo,

Wird auch an irgendeiner Stelle die Variable db deklariert und instanziiert.
Set db = ...

Anderenfalls, an welcher Stelle genau sagt er denn "Object variable not set"
Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln