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

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

Задача: вывести в xml формате поля документа в браузер по запросу URL
например такой url: http://server/db.nsf/DocExporter?OpenAgent&unid=FCB20938CED3D62143257D2E00417679

Пишем обычный агент который ловит 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
как по ссылке:
http://www.w3schools.com/xml/note.xml
 
То что надо! Спасибо!
так же, если у вас есть значения полей на русском, то не забыть про кодировку, а то 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) выводит ссылку на него см. https://en.wikipedia.org/wiki/URL_redirection
 
нету самого главного - возможности выдать запрос на сохранение с указанным мною именем файла
Не приведу пример конкретного синтаксиса, надо искать какие-то примеры или в RFC, но в заголовке 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>