Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание XML документа в С#

19K
11 ноября 2006 года
razer
7 / / 07.11.2006
добрый день. нужно создать в с# хмл документ, который будет потом открывать в вроде, причем такой что бы значение параметров в хмл документе можно менять. помогите пожалуйста
337
11 ноября 2006 года
shine
719 / / 09.06.2006
Делал когда-то что-то подобное с помощью XSLT.

У тебя есть какой-то исходный XML. В нем нужно записать значения которые у тебя меняться не будут. Затем создаешь XSLT скрипт который будет принимать в виде аргументов значения тех переменных которые тебе нужно менять. В самом XSLT-скрипте ты можешь формировать результат используя данные из исходного XML и из аргументов переданных при вызове.

Где ты будешь просматривать результат - твое дело. Можно в Ворде можно еще где-нибудь.
19K
13 ноября 2006 года
razer
7 / / 07.11.2006
с синтаксисом XSLT я вроде разобрался, но не мог ты конкретнее описать функции для создания XSLT скрипта в C# или кинуть ссылку на материал.
337
13 ноября 2006 года
shine
719 / / 09.06.2006
По-моему я не совсем точно объяснил.
XSLT скрипт ты создаешь отдельно от C#. Можешь это сделать в FARе, можешь в XMLSpy или Notepad. Не имеет значения.
В C# ты должен совершать XSLT преобразование с помощью уже готового XSLT скрипта.
Вкратце, это должно выглядеть так:
1) Читаешь файл с XML.
2) Читаешь файл с XSLT.
3) Создаешь XML-файл куда будешь записывать результат.
4) Создаешь объект XslTransform и добавляешь в него аргументы которые нужно передать в XSLT.
5) Выполняешь XSLT преобразование.
6) Закрывешь все созданные объекты.

Вот пример:
Код:
XsltArgumentList arguments = null;

XslTransform xslt = new XslTransform();
xslt.Load(this.Context.Request.PhysicalApplicationPath + "/questions.xsl");

XmlTextReader tr = new XmlTextReader(this.Context.Request.PhysicalApplicationPath + "/questions.xml");
XPathDocument xpd = new XPathDocument(tr);
XPathNavigator xpn;
xpn = xpd.CreateNavigator();

XPathNodeIterator iter;
iter = xpn.Select("/Questions/TestInformation/TestID");
iter.MoveNext();
string surveyNumber = iter.Current.Value;

XmlTextWriter textWriter = new XmlTextWriter(this.Context.Request.PhysicalApplicationPath + "questions" + surveyNumber + ".html", null);

arguments = new XsltArgumentList();
arguments.AddParam("conference","",ddpConferences.SelectedItem.Text);

xslt.Transform(xpn, arguments, textWriter);

textWriter.Close();
           
StringWriter writer = new StringWriter();
xslt.Transform(xpn, arguments, writer);
writer.Close();

tr.Close();
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог