1

Тема: DOMParser не может распарсить результат NotesDXLExporter.

Я не знал такой нюанс.
Что результат NotesDXLExporter (DXL) не всегда подходит для загрузки в NotesDOMParser напрямую.
Если DXL содержит гигантские вложения в <rawitemdata>/<filedata>, DOMParser может падать.
Остается NotesSAXParser использовать вместо NotesDOMParser.

    ' ---------------- DXL: экспортим, ----------------
    Dim exporter As NotesDXLExporter
    Dim importer As NotesDXLImporter
    Dim dxl As String
    
    Set exporter = session.CreateDXLExporter()
    exporter.RichTextOption=DXL_RICHTEXTOPTION_DXL
    exporter.OmitRichtextAttachments=1
    
    dxl = exporter.Export(docR) ' получаем DXL как строку
        ' Msgbox dxl
    Call streamIn.open ("C:\XML\DXL.xml")       '   СОЗДАЛИ ФАЙЛ DXL.xml
    Call streamIn.Truncate()
    streamIn.WriteText (dxl)
    
        ' ================== DOMParser  ==================
    
    Dim domParser As NotesDOMParser
    Dim docNode As NotesDOMDocumentNode
    Dim nodelist As NotesDOMNodeList
    Dim itemNode As NotesDOMElementNode
    Dim rawNode As NotesDOMElementNode
    Dim rawData As String
    Dim i As Long
    Dim bodyCount As Integer
    Dim children As NotesDOMNode
    Print "1111111111111111111111111111"
    
    Set domParser=session.CreateDOMParser(streamIn) 
    Print "222222222222222222222"
    domParser.Process
    Print "domParser.Process"
    
    Set docNode = domParser.Document
    Call streamIn.Close
    Print "docNode"

Поделиться