XSL-преобразование XML - Простой пример .NET? - PullRequest
3 голосов
/ 09 мая 2011

У меня есть приложение на основе .NET, которое получает входящий XML-файл. Я хотел бы преобразовать файл XML в HTML с помощью имеющейся у меня таблицы стилей XSL. Это мой процесс ...

  1. Считать отправленный файл XML из файловой системы
  2. Применение XSL к XML для преобразования
  3. Вывод итогового HTML на экран в виде HTML

У кого-нибудь есть пример кода, который демонстрирует, как это сделать? Спасибо.

Ответы [ 3 ]

6 голосов
/ 10 мая 2011

Вот очень короткий пример из MSDN .NET документации об использовании Transform() метода XslCompiledTransform класс, являющийся стандартной частью .NET (реализован в пространстве имен System.Xml.Xsl):

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
   // Execute the transformation.
   xslt.Transform(new XPathDocument("books.xml"), null, fs);
}

Остается только запустить браузер и передать ему результат преобразования, содержащийся в потоке fs. Если эффективность важна, можно использовать поток памяти поверх потока файлов.

Вам следует ознакомиться с другими перегрузками метода Transform() * и выбрать наиболее подходящий для вас .

1 голос
/ 10 мая 2011

Вы на самом деле не сказали, какой процессор XSLT вы используете. Доступно как минимум три: Microsoft, которая поддерживает только XSLT 1.0, и Saxon и XQSharp, которые поддерживают XSLT 2.0. У всех, к сожалению, разные API.

0 голосов
/ 10 мая 2011

Хороший пример из немного похожего поста - Передача null в метод `XslCompiledTransform.Transform`

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...