Вывод полей документа в браузере по запросу URL

  • Автор темы Автор темы deeeman
  • Дата начала Дата начала
  • Теги Теги
    web xml
D

deeeman

Всем привет!

Задача: вывести в xml формате поля документа в браузер по запросу URL
например такой url:

Пишем обычный агент который ловит url парсит его, вытягивает UNID, находим док и выводим все поля в виде xml в браузер (НЕ В ФАЙЛ!)

Агент такой:
Код:
Set session = New NotesSession
    Dim cdoc As NotesDocument
    Dim unid As String, params As String
    Dim db As NotesDatabase
    Dim doc As NotesDocument
   
    Set db= session.CurrentDatabase
    Set cdoc = session.DocumentContext
    params = cdoc.Query_String_Decoded(0)
   
    unid = GetParam(params, "unid")
   
    Set doc = getDocByUNID(db,unid)
    If Not doc Is Nothing Then
        Print {<?xml version="1.0" encoding="UTF-8"?>}
        Print {<entities>}
        Print {<entity unid="} & doc.UniversalID & {">}
        Forall i In doc.Items
            Print {<} & Cstr(i.name) & {>} & doc.GetItemValue(i.name)(0) & {</} & Cstr(i.name) & {>}
        End Forall
        Print "</entity>"
        Print "</entities>"       
    End If

Но ерунда в том что в браузере тэги не отображаются,
исходный код страницы содержит лишнее,
т.е. агент сам добавляет стандартную обертку для html страницы:

Код:
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">      
</head>
<body text="#000000">
..........мой xml............
</body>
</html>

Что можно придумать чтобы выводил в формате xml
как по ссылке:
 
уж раз 100500 говорилось (еще в прошлом веке, на Интертрасте)
Код:
Print "Content-type: text/xml"
   'Prevents Domino from sending default headers.
 
  • Нравится
Реакции: deeeman
То что надо! Спасибо!
так же, если у вас есть значения полей на русском, то не забыть про кодировку, а то xml ломается:
Код:
Print {Content-type: text/html; charset="windows-1251"}
Print {<?xml version="1.0" encoding="windows-1251"?>}
 
у меня UTF-16 прекрасно срабатывает вместо win-1251.
с win1251 есть проблемы на иностранных ос
 
задача почти такая же но посложнее
1) агент генерирует имя файла
2)по подобной ссылке должен скачиваться файл (XML)
 
задача почти такая же но посложнее
1) агент генерирует имя файла
2)по подобной ссылке должен скачиваться файл (XML)
А проблема-то в чём? п.1 или п.2 не получается?
Агент генерит нужный файл,сохраняет его на диске, а в консоль (Print) выводит ссылку на него см.
 
Агент генерит нужный файл,сохраняет его на диске,
если файл небольшой можно и стрим отдать
в обычных агентах шитхеппенс (как у ИБМ часто бывает) ;) link removed
т.е. гранаты не той системы
 
нету самого главного - возможности выдать запрос на сохранение с указанным мною именем файла
Не приведу пример конкретного синтаксиса, надо искать какие-то примеры или в , но в заголовке HTML можно указать тип содержимого. Если указан тип XML, то он будет открыт в броузере, а если указать "attachment", то броузер предложит сохранить файл на диске пользователя.

Попробуй как-то так (по памяти, не уверен что синтаксис точный):
HTML:
<html>
<head>
    <meta http-equiv="content-type" content="application/force-download">
    <meta http-equiv="content-disposition" content="attachment; filename='1.mp3'">
</head>
</html>
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!