2016-04-27 3 views
0

Я хочу изменить этот код из Lotus Script на SSJS.<notes domino Xpages> lotus script to 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") 

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

Я создал этот ssjs по мне самому. Но произошла ошибка.

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"); 

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

описана ошибка ниже.

«DOMParseris not found» Предложение об ошибке var parser = new DOMParser();

Скажите, пожалуйста, правильный код в ssjs.

+0

Возможно, это может помочь вам, https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Using_XML_as_an_XPage_Data_Source –

ответ

1

Я не уверен, какой должен быть объект DOMParser; два варианта:

a) вы хотите, чтобы нам был класс java, возможно, версия Oracle или версия API Xerces-J от Apache. В обоих случаях (или в других случаях) вы можете попытаться вызвать конструктор класса, передав полное имя пакета, как в var parser=new oracle.xml.parser.v2.DOMParser; имейте в виду, что это всего лишь пример; оба класса DOMParser не имеют методов parseFromString().

b) скорее всего вы пытаетесь использовать клиентскую часть javascript DOMParser объект; Насколько мне известно, этот объект недоступен в реализации SSJS Domino, по крайней мере, я не могу найти никаких следов.

Суть: вам придется искать другой способ, скорее всего, используя соответствующие классы java; пример Пола Калхауна (связанный в комментарии Франка ван дер Линдена) может помочь.

Смежные вопросы