0

このコードを Lotus Script から 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");

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

エラーについては、以下で説明します。

「DOMParserが見つかりません」というエラー文 var parser = new DOMParser();

ssjsの正しいコードを教えてください。

4

1 に答える 1

1

DOMParser がどのようなオブジェクトであるべきかはわかりません。2 つのオプション:

a) Java クラス、おそらく Oracle のバージョン、または Apache の Xerces-J API からのものを希望します。両方 (または他の場合) のように完全なパッケージ名を渡すことで、クラス コンストラクターを呼び出そうとすることができますvar parser=new oracle.xml.parser.v2.DOMParser。これは単なる例であることに注意してください。parseFromString()どちらの DOMParser クラスにもメソッド がありません。

DOMParserb) クライアント側の JavaScriptオブジェクトを使用しようとしている可能性が高いです。私の知る限り、このオブジェクトは Domino の SSJS 実装では利用できません。少なくともその痕跡は見つかりません。

要するに、おそらく適切な Java クラスを使用して、別の方法を探す必要があります。Paul Calhoun の例 (Frank van der Linden のコメントにリンクされています) が役に立ちますように。

于 2016-04-27T11:23:16.370 に答える