Проблема преобразования XSLT версии 2.0 с C # - PullRequest
1 голос
/ 23 мая 2011

Привет, у меня есть несколько файлов XSLT 2.0.Мне нужно преобразовать их с помощью C #. Я использую следующий код, полученный с этого сайта: http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63

public bool Transform(string XMLPath, string XSLPath, string newXMLname){

        try{

            XPathDocument myXMLPath = new XPathDocument(XMLPath);          //load the Xml doc
            XslCompiledTransform myXSLTrans = new XslCompiledTransform();

            myXSLTrans.Load(XSLPath);                                       //load the Xsl 

            XmlTextWriter myWriter = new XmlTextWriter(newXMLname, null);     //create the output stream

            myXSLTrans.Transform(myXMLPath, null, myWriter);                   //do the actual transform of Xml ---> fout!!??

            myWriter.Close() ;
            return true;


        }catch(Exception e){

            return false;
        }
    }

Но это не работает .. Я думаю, это потому, что я использую XSLT версии 2.0.Есть ли код / ​​способ сделать это?Потому что нет возможности изменить мои файлы XSLT до версии 1.0 ...

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Два процессора XSLT 2.0, разработанные для работы в среде .NET, - это Saxon.NET и XQSharp.

Процессоры XslCompiledTransform и XslTransform, входящие в состав .NET, реализуют только XSLT 1.0.

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

.Net Framework не поддерживает XSLT 2.0. Я бы предложил использовать XSLT 1.0, но если вы не можете, то используйте сторонний компонент, например Saxon .

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