2016-04-27 8 views
0

Ich möchte diesen Code von Lotus Script zu SSJS ändern.<notizen domino Xpages> Lotus Skript zu ssjs

Query = "test" 
Maxdocs = 10 
Sortoption = 32 
Otheroptions = 8192 
Start = 1 
Count = 30 
Entryform = "ResultEntry" 
Set RetDoc = curDB.Ftdomainsearch(Query, Maxdocs, Sortoption,Otheroptions,Start,Count,Entryform) 

'domino Xml 
Set ndxl = ss.CreateDXLExporter(Retdoc) 
Set stream = ss.CreateStream 
Call ndxl.SetOutput(stream) 
ret = ndxl.Export(Retdoc) 
Set domParser=ss.CreateDOMParser(ret, stream) 
domParser.Process 

'doclink 
Set rootElement = domParser.Document.DocumentElement 

Set docList = rootElement.GetElementsByTagName ("doclink") 

================================

Ich schuf dieses ssjs code by myself.aber ein Fehler ist aufgetreten.

var Query = "a"; 
var Maxdocs = 10; 
var Sortoption = 32; 
var Otheroptions = 8192; 
var Start = 1; 
var Count = 30; 
var Entryform = "ResultEntry"; 
var RetDoc:NotesDocument = database.FTDomainSearch(Query, Maxdocs, Sortoption,Otheroptions,Start,Count,Entryform); 

var stream:NotesStream = session.createStream(); 
var ndxl:NotesDxlExporter = session.createDxlExporter(); 

var ret:string = ndxl.exportDxl(RetDoc); 
var parser = new DOMParser(); 
var doc = parser.parseFromString(ret, "application/xml"); 

var rootElement = doc.DocumentElement; 
var docList = rootElement.GetElementsByTagName ("doclink"); 

==================================

Der Fehler beschrieben wird unten.

"DOMParseris nicht gefunden" Ein Satz Fehler var Parser = neue DOMParser();

Bitte sagen Sie mir den richtigen Code in ssjs.

+0

kann dies Ihnen helfen, https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Using_XML_as_an_XPage_Data_Source –

Antwort

1

Ich bin nicht sicher, welche Art von Objekt DOMParser sein soll; zwei Optionen:

a) Sie wünschen uns eine Java-Klasse, vielleicht Oracle-Version, oder die von Apache Xerces-J-API. In beiden (oder anderen Fällen) könnten Sie versuchen, den Klassenkonstruktor aufzurufen, indem Sie den vollständigen Paketnamen wie in var parser=new oracle.xml.parser.v2.DOMParser; Sei dir bewusst, dass dies nur ein Beispiel ist; Beide DOMParser-Klassen haben keine parseFromString() Methoden.

b) eher versuchen Sie eine Client-Seite Javascript DOMParser Objekt zu verwenden; meines Wissens ist dieses Objekt in der SSJS-Implementierung von Domino nicht verfügbar, zumindest finde ich keine Spur davon.

Die Quintessenz: Sie müssen nach einem anderen Weg suchen, wahrscheinlich mit geeigneten Java-Klassen; Möge das Beispiel von Paul Calhoun (in Frank van der Lindens Kommentar verlinkt) hilfreich sein.