当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年9月17日水曜日

Notes文書をXMLに変換する

今回から、新しくNotesとXMLの関係についても書いていきたい。
とは言っても、筆者自身XMLのことはほとんど分からないし、DXLなんて使ったこともないので、試行錯誤しながらのお届けになると思うので、温かく見守ってほしい。

とりあえず、今回はNotesDXLExporterクラスを使って、Notes文書をXML文書に変換してみる。
サンプルは、ビューで選択した文書をXMLに変換するものである。
ポイントはUnicode形式で出力ファイルをオープンするところだ。
キャラセットを指定しないと、文書中に日本語文字があると、XML文書が開けないのだ。

-------------------------------------------------------------------------------------------------------
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument

Dim ndxl As NotesDXLExporter
Dim stream As NotesStream
Dim ret As String

Dim fn As Integer

Set db = session.CurrentDatabase
Set docs = db.UnprocessedDocuments
Set doc = docs.GetFirstDocument

Set ndxl = session.CreateDXLExporter( doc )
Set stream = session.CreateStream
Call ndxl.SetOutput( stream )

fn = Freefile()

Open "c:\notesxml.xml" For Output As #fn Charset = "UTF-8"
ret = ndxl.Export( doc )
Print #fn, ret
Close #fn
End Sub

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2 件のコメント:

わろ さんのコメント...

こんにちは。

先日、ホットスポット内のURLのリンク切れをプログラムでチェックしたいけど何か良い方法はないかと同僚から問い合わせを受けた時にここの記事を思い出しました。
取得したXMLデータの内容を検索することでお蔭様で、1万件近くもあった文書のチェックが簡単にできてものすごく喜んでもらえました。

旧い記事へのコメントで申し訳ありませんがお礼を言いたくてあえて投稿させていただきました。
ありがとうございました。

およよ さんのコメント...

わろさん、わざわざ、お礼ありがとうございます。

こんな情報でも、お役に立てて良かったです。
XMLに変換することで、色々な使い途ができるんですね。こちらも勉強になりました。

これからもよろしくお願いします。