Domino 9 und frühere Versionen > ND6: Entwicklung
[erledigt] XML Datei in die NSF importieren
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