|
|
|
Supreme Being
      
участник
Last Login: 28.03.2006 16:46
Сообщ.: 149,
Visits: 1 640
|
|
Всем привет.
У меня такой вопрос, как можно компоновать XML документ из нескольких в Run-Time.
Допустим есть такая древовидная структура объектов, где лисьтьями являються XML документы, а само дерево по сути тоже генерирует XML документ в ноды которого будут включаться листья.
Подскажите пожалуйся по какому пути хотябы пойти, а то я в практикую NET только 2 дня и в его возможностях теряюсь:$
Зарание благодарю за помощь
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Создаешь родительский объект XmlDocument с нужной структурой
Создаешь дочерние XmlDocument
Добавляешь дочерний XmlDocument в нужному Item родительского (метод AppendChild) элемент DocumentElement дочернего
Если не понятно объяснил, спрашивай ...
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.03.2006 16:46
Сообщ.: 149,
Visits: 1 640
|
|
Я так понял ты имеешь в виду CreateDocumentFragment.
Да, я думаю то что надо. Я просто еще толком не ориентируюсь в библиотеке классов NET да и гугл что то не очень спешит мне помоч в этом:(
Но за все это время я уже передумал собирать весь XML так как его будет потом практически не возможно преобразовать с помошью XSL(он тоже собираеться по дереву объектов) И все работало как надо, по моему, будет сложно сдлеать(я так предполагаю без генерации call-template тут не обойтись). Я решил пробегать по дереву и преобразовывать каждый XML соответствующим XSL и уже результаты включать в ячейку таблицы, в котром он должен находиться.
У меня за все это время молчания возник еще вопрос. На счет производительности преобразования XSL в сравнении с ASPX. Как лучше сделать чтобы объект отдавал XML/XSL либо объекты ASPX страницы(допустим таблицу, в которой будет содержаться результат его работы) Вопрос не совсем по топику но еще одну тему развивать не охоты:$
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
[quote="WebLamer"]Но за все это время я уже передумал собирать весь XML так как его будет потом практически не возможно преобразовать с помошью XSL(он тоже собираеться по дереву объектов)[/quote]
Хохяин барин, как говорится :)
[quote="WebLamer"]У меня за все это время молчания возник еще вопрос. На счет производительности преобразования XSL в сравнении с ASPX. Как лучше сделать чтобы объект отдавал XML/XSL либо объекты ASPX страницы(допустим таблицу, в которой будет содержаться результат его работы) Вопрос не совсем по топику но еще одну тему развивать не охоты:$[/quote]
Если отдавать XML/XSL, то это переложит часть нагрузки на клиента, но одновременно наложит на него высокие требования в виде наличия IE5+ или Mozilla/Firefox. Опера, насколько я понял плохо поддерживает XSLT. Конкретное решение тебе надо самому принимать, протестируй нагрузку на сервер при XSLT преобразованиях на стороне сервера. Не забывай что ASP.NET имеет много возможностей для кеширования данных (директива @OutputCache, объект Cache). С их помощью можно резко улучшить производительность приложения.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.03.2006 16:46
Сообщ.: 149,
Visits: 1 640
|
|
В том то у меня и проблема что я никак не могу как тестировать XSLT по сравнению с ASPX. Просто создать XML/XSLT полсложнее и подобную по результату ASPX?
А отдавать XSML/XSL я собирался не клиенту, а классу-менеджеру который будет все это собирать в единое целое и как возможность выдавать уже приобразованный документ. Но вот я тут пока писал примерный вид этого менеджера я и подумал а что если мне сделать чтобы он опрашивал объекты дерава и они отдавали ему например System.Web.UI.WebControls.Table.
В принципе суть сего топика состоит только в том чтобы решить по какому пути идти, по пути XML/XSL(это дает пользователю достаточно легко создавать свои шаблоны пердставления), или же идти по пути как тут http://www.gotdotnet.ru/LearnDotNet/ASPNET/677.aspx(тут чтобы изменить шаблон клиент должен иметь VS).
в XML меня соблазняет гибкость представления, но пугает, что даже XslCompiledTransform, будет узким местом производительности приложения.
|
|
|
|