Быстрый способ создания XML
От: Аноним  
Дата: 30.10.07 16:00
Оценка:
Приветствую, народ, подскажите наиболее быстрый способ создания XML для следующего функционала:
с сервера А на сервер С, через некоторое транзитное звено — Б передаются некоторые данные большого объёма.
Сервер А отдаёт в некотором своём формате, сервер Б принимает в своём (ну здесь просто XML согласно своей XSD, в данном случае не суть важно)
задача сервера С — принять от сервера А, преобразовать в XML-формат для сервера Б.

поскольку объёмы данных велеки и передача данных осуществляется каждые 10-15 минут, сервер С должен осуществлять это преобразование достаточно быстро, на лету...

подскажите, используя какое именно АПИ, какую технику (технологию и т.д.) следует применить на сервере С, что бы достичь максимально возможной производительности (такие факторы как ширина канала, прочие алгоритмы и т.д. здесь можно не учитывать, интересует исключительно способ генерирования XML в соответствии с используемой схемой)

большое спасбо
Re: Быстрый способ создания XML
От: Аноним  
Дата: 30.10.07 16:06
Оценка:
я прошу прощения, уже под конец дня глаза что говорится "вылезают"... этот вопрос следует читать так:



с сервера А на сервер С, через некоторое транзитное звено — Б передаются некоторые данные большого объёма.
Сервер А отдаёт в некотором своём формате, сервер С принимает в своём (ну здесь просто XML согласно своей XSD, в данном случае не суть важно)
задача сервера Б — принять от сервера А, преобразовать в XML-формат для сервера С.

поскольку объёмы данных велеки и передача данных осуществляется каждые 10-15 минут, сервер Б должен осуществлять это преобразование достаточно быстро, на лету...

подскажите, используя какое именно АПИ, какую технику (технологию и т.д.) следует применить на сервере Б, что бы достичь максимально возможной производительности (такие факторы как ширина канала, прочие алгоритмы и т.д. здесь можно не учитывать, интересует исключительно способ генерирования XML в соответствии с используемой схемой)

(C#; .NET Framework 2.0)

Большое спасибо
Re: Быстрый способ создания XML
От: Lloyd Россия  
Дата: 30.10.07 16:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>большое спасбо


XSLT
Re: Быстрый способ создания XML
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 31.10.07 08:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>поскольку объёмы данных велеки и передача данных осуществляется каждые 10-15 минут, сервер С должен осуществлять это преобразование достаточно быстро, на лету...


XmlReader и XmlWriter — как раз таки можете разбирать входной XML-поток и одновременно писать в выходной XML-поток.
Re[2]: Быстрый способ создания XML
От: _Morpheus_  
Дата: 02.11.07 11:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>с сервера А на сервер С, через некоторое транзитное звено — Б передаются некоторые данные большого объёма.

А>Сервер А отдаёт в некотором своём формате, сервер С принимает в своём (ну здесь просто XML согласно своей XSD, в данном случае не суть важно)
А>задача сервера Б — принять от сервера А, преобразовать в XML-формат для сервера С.

А>поскольку объёмы данных велеки и передача данных осуществляется каждые 10-15 минут, сервер Б должен осуществлять это преобразование достаточно быстро, на лету...


А>подскажите, используя какое именно АПИ, какую технику (технологию и т.д.) следует применить на сервере Б, что бы достичь максимально возможной производительности (такие факторы как ширина канала, прочие алгоритмы и т.д. здесь можно не учитывать, интересует исключительно способ генерирования XML в соответствии с используемой схемой)


А>(C#; .NET Framework 2.0)


XSLT трансформация. Пишете XSLT файл в котором описываете шаблоны по которым будет производится исходного XML в целевой XML и используете XslTransform.

По поводу XslTransform — это класс от первого фреймворка, во втором он помечен как deprecated и предлагается использовать новый XslCompiledTransform.
Однако, не знаю почему, но XslCompiledTransform работает на несколько порядков медленнее чем XslTransform...
Поэтому я пока во втором фреймворке продолжаю пользовать XslTransform не обращая внимания на эти ворнинги:

Warning 1 'System.Xml.Xsl.XslTransform' is obsolete: 'This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202'


возможно ктото подскажет чем (кроме XslTransform) во втором фреймворке можно произвести трансформацию также быстро как с помощью XslTransform?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re: Быстрый способ создания XML
От: matumba  
Дата: 02.11.07 12:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Приветствую, народ, подскажите наиболее быстрый способ создания XML


Я извиняюсь за туповатую идею, но если передаётся примерно та же структура, что и исходная, то может чисто заменить теги как подстроки?
Для своего проекта выбрал JSON — тоже посмотрите.
Re[2]: Быстрый способ создания XML
От: _Morpheus_  
Дата: 02.11.07 13:08
Оценка:
Здравствуйте, matumba, Вы писали:

А>>Приветствую, народ, подскажите наиболее быстрый способ создания XML


M>Я извиняюсь за туповатую идею, но если передаётся примерно та же структура, что и исходная, то может чисто заменить теги как подстроки?


это опятьже лучше сделать с помощью XSLT
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[3]: Быстрый способ создания XML
От: Lloyd Россия  
Дата: 02.11.07 13:11
Оценка:
Здравствуйте, _Morpheus_, Вы писали:

M>>Я извиняюсь за туповатую идею, но если передаётся примерно та же структура, что и исходная, то может чисто заменить теги как подстроки?


_M_>это опятьже лучше сделать с помощью XSLT


Отнюдь
Re[4]: Быстрый способ создания XML
От: _Morpheus_  
Дата: 02.11.07 13:19
Оценка:
Здравствуйте, Lloyd, Вы писали:

M>>>Я извиняюсь за туповатую идею, но если передаётся примерно та же структура, что и исходная, то может чисто заменить теги как подстроки?


_M_>>это опятьже лучше сделать с помощью XSLT


L>Отнюдь


почему?
... << RSDN@Home 1.2.0 alpha rev. 676>>
Re[5]: Быстрый способ создания XML
От: Lloyd Россия  
Дата: 02.11.07 14:51
Оценка: :)
Здравствуйте, _Morpheus_, Вы писали:

_M_>>>это опятьже лучше сделать с помощью XSLT


L>>Отнюдь


_M_>почему?


Потому что это не сабж
Re: Быстрый способ создания XML
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.11.07 22:34
Оценка: 3 (1) +2
Здравствуйте, <Аноним>, Вы писали:

XSLT это крайне медленный способ создания XML. Самый быстрый — рукопашная запись в TextWriter строк. Почти такой же быстрый — XmlWriter. Если требуется сложная нелинейная манипуляция над деревом, то, наверное, сейчас самый быстрый способ — использовать XDocument.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.