Как эффективно отобразить xml?

Доменные имена Доменные имена
Источник бесперебойного хостинга
started - надежный регистратор доменных имен
Хостинг от cityhost.com.ua
Реклама на Karman.com.ua
Тел.: +38 (066) 370-05-89
ICQ: 271717692
karman.com.ua - Хостинг в Украине
форум о хостинге в Украине

Здравствуйте, гость ( Вход | Регистрация )

Есть вопросы о хостинге и о сайтах?

и получи ответ от профессионалов, которые обожают помогать людям :).
 
Ответить в данную темуНачать новую тему
> Как эффективно отобразить xml?
PLATYPUS
сообщение 24.8.2008, 0:05. Re: Как эффективно отобразить xml?
Сообщение #1


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 3
Регистрация: 23.8.2008
Пользователь №: 1 216



Есть web-приложение, которое по нажатию кнопки отправляет непонятный какой то запрос на сервер.
Сервер возвращает ответ в виде http-запроса, в body которого написан xml.
надо сделать так чтобы мы извлекли body в строку, к строке надо применить xslt-преобразование, а потом выдать его пользователю.
Но есть проблема - не хочу создавать xml-файл внутри сервера страницы.
В MSDN это преобразование описывается "статически", то есть берем два файла и применяем преобразования.
А мне очень хочется это делать сразу и с лёгкостью.

пока что лишь нашёл такое рещение:

Ниже представлено описание метода, который получает на вход строку, в которой содержится некоторый xml.
На выходе мы хотим получить response, которой было применено некоторое xslt-преобразование (оно конечно статическое и хранится в файле xsltTransfrmation.xslt)
public static string outputTransformation(string response)
{
try
{
//загружаем xslt-перобразование
XmlDocument xmlTransformation = new XmlDocument();
xmlTransformation.LoadXml("xsltTransformation.xslt");
//загружаем преобразователь
XslCompiledTransform transformer = new XslCompiledTransform();
transformer.Load(xmlDocument);
//подгружаем текущий xml-файл
XmlDocument xmlResponse = new XmlDocument();
xmlResponse.LoadXml(response);
//получаем xmlWriter
StringBuilder htmlStringBuilder = new StringBuilder();
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.ConformanceLevel = ConformanceLevel.Auto;
XmlWriter xmlWriter = XmlWriter.Create(htmlStringBuilder, writerSettings);
//выполняем xslt-преобразование
transformer.Transform(xmlResponse, xmlWriter);
return htmlStringBuilder.ToString();
}
catch(System.Xml.XmlException ex)
{
Console.WriteLine(ex.StackTrace.ToString());
return "Возникла ошибка во время применения xslt-преобразования";
}
catch(System.Xml.Xsl.XsltException ex)
{
Console.WriteLine(ex.StackTrace.ToString());
return "Возникла ошибка во время применения xslt-преобразования";
}
}


Прошу вас подсказать мне если более простая реализация такого метода? и Code-review, если кому то что то не понравилось в моём коде - скажите, рад буду критике
Перейти в начало страницы
 
+Цитировать сообщение
sfinks
сообщение 24.8.2008, 0:08. Re: Как эффективно отобразить xml?
Сообщение #2


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 4
Регистрация: 23.8.2008
Пользователь №: 1 218



Если честно не знаю где на MSDN ты нашёл что то про преобразование. и по поводу кода - зачем два catch в которых один и тот же код?
Перейти в начало страницы
 
+Цитировать сообщение
Rabben
сообщение 24.8.2008, 0:08. Re: Как эффективно отобразить xml?
Сообщение #3


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 29
Регистрация: 23.8.2008
Пользователь №: 1 217



по коду к предыдущиму оратору - вот неесмотря на то что код один и тот же , ошибки-то разные?
Перейти в начало страницы
 
+Цитировать сообщение
sfinks
сообщение 24.8.2008, 0:09. Re: Как эффективно отобразить xml?
Сообщение #4


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 4
Регистрация: 23.8.2008
Пользователь №: 1 218



и кстате более простого решения не бывает Можешь разве что xmlTransformation сделать статической переменной, для того чтобы не грузить ее постоянно, если запросы часто посылаются на севрвер.
Перейти в начало страницы
 
+Цитировать сообщение
PLATYPUS
сообщение 24.8.2008, 0:11. Re: Как эффективно отобразить xml?
Сообщение #5


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 3
Регистрация: 23.8.2008
Пользователь №: 1 216



Но мой код работает хорошо и при этом не создаёт. Все записывается в поток, а потом идёт в строку.
Я хотел узнать есть ли более красивый способ делать такое
Перейти в начало страницы
 
+Цитировать сообщение
sfinks
сообщение 24.8.2008, 0:11. Re: Как эффективно отобразить xml?
Сообщение #6


Любимый участник хостинг-жизни


Группа: Любимый Пользователь хостинга
Сообщений: 4
Регистрация: 23.8.2008
Пользователь №: 1 218



Я более красивых способов не нашел, да и думаю всё таки что их нет, и ошибка у тебя в коде там перед return добавь строчку transformer.TemporaryFiles.Delete
Перейти в начало страницы
 
+Цитировать сообщение
Dostavu4ka
сообщение 31.8.2008, 21:45. Re: Как эффективно отобразить xml?
Сообщение #7


Любимый активист хостинга
*

Группа: Любимый Пользователь хостинга
Сообщений: 30
Регистрация: 29.8.2008
Пользователь №: 1 230



Одну секунду господа а разве это не использовали для быстрого повышения ТИЦ ? И разве это Яндекс не запретил ? Если я ошибаюсь то извините ну а если нет то зачем учить людей как попасть быстро в бан !
Перейти в начало страницы
 
+Цитировать сообщение
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
Похожие темы:
Последнее сообщение Создание эффективного баннера

Последнее сообщение в ИЕ не отображает изображения, в ФФ все чудесно

Последнее сообщение Как сделать эффективную систему статистики для сайта

Последнее сообщение Как отображать RSS ленты на вашем вебсайте

Последнее сообщение отображение RSS лент

Последнее сообщение SpyTrack отследит эффективность веб-дизайна
Design by: Free IPB Skins & Web Proxy & © Karman.com.ua Rambler's Top100