Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как преобразовать один XML в другой? используя XSLT схему 2.0  
:(
    Опции темы
vlsaf
Дата 20.10.2010, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



Дано XML файл, XSLT схема версии 2.0
Нужно получить на выходе другой xml файл.

Никто не сталкивался с этим?
PM   Вверх
diadiavova
Дата 20.10.2010, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Во фреймворке такой возможности нет, так что если у тебя есть готовое преобразование и возможность переписать его под первую версию не рассматривается, то придется воспользоваться сторонним хсл-процессором, например Saxon


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
vlsaf
Дата 20.10.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



diadiavova, спасибо, но уже нашел

Есть бесплатное чудо, которым можно пользоваться.

AltovaXML® 2011 Community Edition. Скачивать тут 
http://www.altova.com/download/altovaxml/x...-community.html

Есть поддержка XSLT схемы 2.0 и интерфейс .NET (примеры на C#)
PM   Вверх
diadiavova
Дата 20.10.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Я думал тебе надо сделать это программно, потому что иначе сложно понять, что эта тема делает в этом разделе.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
vlsaf
Дата 20.10.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: нет
Всего: 1



Ну так я уже наваял проект в студии.
И по нажатию одной кнопочки xml преобразуется

Код

        private void button_Transform_Click(object sender, EventArgs e)
        {
            ApplicationClass appXML = new ApplicationClass();
            XMLValidator validator = appXML.XMLValidator;
            XSLT2 xslt2 = appXML.XSLT2;

            bool isWellformed;
            validator.InputXMLFileName = textBox_XmlSource.Text;
            this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
            isWellformed = validator.IsWellFormed();
            this.Cursor = System.Windows.Forms.Cursors.Default;

            if (isWellformed) // если источник валидный
            {

                xslt2.InputXMLFileName = textBox_XmlSource.Text;
                xslt2.XSLFileName = textBox_XsltSourse.Text;
                try
                {
                    this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
                    xslt2.Execute(OutFileName());
                    this.Cursor = System.Windows.Forms.Cursors.Default;
                }
                catch (Exception ex)
                {
                    this.Cursor = System.Windows.Forms.Cursors.Default;
                    MessageBox.Show(ex.Message, "Transformation error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }
            else
            { 
                MessageBox.Show(validator.LastErrorMessage, "Validator error",  MessageBoxButtons.OK, MessageBoxIcon.Error); 
            }
        }

PM   Вверх
diadiavova
Дата 20.10.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Я не посмотрел ссылку, просто знаю, что альтова - такая программа для работы с хмл, думал речь о ней.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.