Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Rainer Merlin am 08.06.07 - 15:42:12
-
Hallo zusammen,
eigentlich, so dachte ich, eine leichte Aufgabe:
1. Lese XML aus einem Feld aus
2. Erstelle ein org.w3c.dom.Document und modifiziere es mittels der com.ibm.xml.parsers.DOMParser-Klasse
3. Schreibe das modifizierte w3c-Dokument zurück in das Feld
4. Sei glücklich
Und schon fangen die Probleme an: ???
Wenn ich's recht sehe, gibt es keine Methode, die mir das Schreiben des w3c-Dokuments in ein Feld ermöglicht. Oder bin ich blind?
Daher folgte Versuch 2:
1. Lese XML aus einem Feld aus
2. Erstelle ein org.w3c.dom.Document und konvertiere es in ein org.jdom.Document. Dieses ist leichter handelbar,und es gibt die schöne org.jdom.output.XMLOutputter-Klasse
3. Modifiziere das JDOM-Dokument und schreibe es in das Feld zurück
Nur: Beim Aufruf der build-Methode der org.jdom.input.DOMBuilder-Klasse wird ein NoSuchMethodError geworfen: Die Methode getNamespaceURI()Ljava/lang/String ist nicht zu finden. Ich glaube, die XML4j.jar macht ihrem Ruf alle Ehre ...
Nur: Wie bekomme ich das modifizierte XML wieder in das Feld zurück :-:
Für alle Anregungen dankbar ist der
Rainer
-
Ahhhh. Java-Frischfleisch. >:D
Vermute ich richtig, dass Du mit Notes/Domino bis jetzt noch nicht so viel am Hut hattest? ;)
Die replaceItemValue Methode (http://www.lotus.com/ldd/doc/domino_notes/6.5.1/help65_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/3320e2831e0035cc85256e00004b56aa?OpenDocument&Highlight=0,replaceItemValue) schreibt Dir einen String in ein Feld. Was gefällt Dir an Ihr nicht? Viel Eleganter gehts kaum noch.
Es ist zwar nett, dass Du org.jdom als leichter "handlebar" empfindest, aber ich würde mal an Deiner Stelle drüber nachdenken, ob dieses Framework auch überall vorhanden ist, nachdem es anscheinend nicht Bestandteil einer Standard-JRE ist und Domino seine eigenen (http://johankanngard.net/2006/02/09/java-versions-in-lotus-domino-and-notes/) JREs (http://www.ibm.com/support/docview.wss?uid=swg21188789) einsetzt und die auf der Maschine installierten samt ihren Classpathes ignoriert.
Du könntest natürlich probieren, Dir die notwendigen JAR-Files zu importieren (http://www-12.lotus.com/ldd/doc/domino_notes/6.5.1/help65_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/65a6ba1cc658896985256e00004955c4?OpenDocument).
-
Ahhhh. Java-Frischfleisch. >:D
Och, so ganz frisch ist mein Fleisch nicht mehr. Wird ja auch schon bereits seit über 40 Jahren durch die Gegend getragen ;)
Vermute ich richtig, dass Du mit Notes/Domino bis jetzt noch nicht so viel am Hut hattest? ;)
Noch nicht soviel, als daß ich es lieben gelernt habe ...
Die replaceItemValue Methode (http://www.lotus.com/ldd/doc/domino_notes/6.5.1/help65_designer.nsf/855dc7fcfd5fec9a85256b870069c0ab/3320e2831e0035cc85256e00004b56aa?OpenDocument&Highlight=0,replaceItemValue) schreibt Dir einen String in ein Feld. Was gefällt Dir an Ihr nicht? Viel Eleganter gehts kaum noch.
Doch, die Methode ist schon nett. Nur mein Problem ist: Wie kann ich denn dieses w3c-Dokument dazu bewegen, sich in einen String zu verwandeln?
Es ist zwar nett, dass Du org.jdom als leichter "handlebar" empfindest, aber ich würde mal an Deiner Stelle drüber nachdenken, ob dieses Framework auch überall vorhanden ist, nachdem es anscheinend nicht Bestandteil einer Standard-JRE ist und Domino seine eigenen (http://johankanngard.net/2006/02/09/java-versions-in-lotus-domino-and-notes/) JREs (http://www.ibm.com/support/docview.wss?uid=swg21188789) einsetzt und die auf der Maschine installierten samt ihren Classpathes ignoriert.
Drum hab ich das jdom.jar in eine ScriptLibrary gepackt.
Sonnige Grüße von
Rainer