• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Экспорт & импорт в нужном Xml формате

  • Автор темы Автор темы ToxaRat
  • Дата начала Дата начала

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 328
42
В общем самые разнообразные доки нужно экспортнуть в весьма специфический XML со своими правилами и разметко.
И вот тут меня начинает колбасить, хочется сделать и красиво и настраиваемо.
Нужно - экспортнуть/импортнуть в один XML: входящий документ со всеми его резолюциями и всеми сопутствующими аттачами
Что выбрать то?
первоначально думал возьму экпортну средствами парсера а потом попереименовываю теги на нужные а остальной мусор поудаляю
Теперь думаю, что нужно взять всё под контроль и формировать програмно по тегу, что лучше делать в такой ситуации?
 
проблема актульна в срезе потребления ресурсов...
стили требуют полной загрузки (памяти)..., прямая замена (SAX - на-лету, в потоке) может дать невалидный ХМЛ на выходе (если стр-ра сложная)
 
стили требуют полной загрузки (памяти)
загрузку я может быть еще бы оптимизировал как нибудь, если бы хоть увидел нормальные пример подхвата и выгрузки в XML аттача
 
не понял про выгрузку аттача...
 
lmike
нужно в требуемый XML еще и все аттачи из дока выгрузить, КАК это сделать самому? :)
 
я не понимаю - что значит выгрузить в ХМЛ аттач...
цель какая, в аттача ХМЛ тоже?
 
lmike
цель, контролируемо собрать XML согласно спецификации и так же туда слить все аттачи что подходят под критерии

есть пример чтобы в XML просто слить одно поле и один аттач и конкретного дока?
я вот не находу примеров где на срипте я могу взять аттач из дока и напрямую слить его в XML или же выложить во временную папку и слить этот аттач(его бинарное содержимое) в XML?
 
А в чем проблема? Берешь аттач, в base64 кодируешь и прямо вставляешь в xml-строку. Если xml получен DXL-экспортом, то там вроде уже в base64 должно всё быть.
 
А в чем проблема? Берешь аттач, в base64 кодируешь и прямо вставляешь в xml-строку. Если xml получен DXL-экспортом, то там вроде уже в base64 должно всё быть.
примерчик дай :rolleyes:
 
пример чего - при операции экспорта (из хэлпа) уже получишь хмл с аттачем унутря (в виде base64)
 
пример чего - при операции экспорта (из хэлпа) уже получишь хмл с аттачем унутря (в виде base64)
всё верно, а теперь представь что мне туда нужно вставить ЕЩЕ один аттач, из другого документа, как быть?
 
допиши в конец (перед закрывающим док </document>, в нужных тегах), хинт ставь где хошь (унутря РТ)
дергалки аттачей - я давал, здесь, ссылки, там и LAX и VDT (мои экперименты)

теги:
Код:
	String txtStartFileItem="<item name='$FILE' summary='true' sign='true' seal='true'>"+
"<object><file hosttype='msdos' compression='none' flags='storedindoc' name='"+zipFileName+"'>";
String txtStartFileData="<filedata>";
String txtEndFileItem="</filedata></file></object></item>";
 
lmike
как выглядят теги я знаю, мне интересно есть ли какой метод у парсера, чтобы можно было добавить ЕЩЕ аттачи?
 
разумеется нет
 
если кому интересно то сделал в самой простой форме ;)
Код:
Forall in1 In vFiles ' проходимся по файлам
If Len(in1)>0 Then
Set object = Doc.GetAttachment(in1)
If Not object Is Nothing Then
s1 = pathname & in1
Call object.ExtractFile(s1) ' выкладываем
If stream2.Open(s1, "binary") Then ' удалось открыть
Do
buffer = stream2.Read(32767)
Call Gstream.Write(buffer)
Loop Until stream2.IsEOS
Call stream2.Close
End If
End If
End If
End Forall
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab