Преобразование структуры документа XML из одного в другой в C # - PullRequest
0 голосов
/ 24 февраля 2010

В настоящее время у меня есть структура XML в приложении. Мне нужно было преобразовать его из одной структуры в другую. У меня есть xsds для этого. Приложение находится в C #. Естественно, я подумал об использовании старого доброго кода для его преобразования, но это звучало как наименее эффективная идея. Кто-то порекомендовал мне использовать XSLT, но я не уверен на 100%, как он работает.

Кто-нибудь знает, как использовать XSLT для преобразования XML-структуры в другую? Примеры были бы хорошими. Или есть какие-нибудь другие бесплатные приложения, которые бы лучше работали?

Спасибо.

Ответы [ 4 ]

1 голос
/ 24 февраля 2010

Вы можете использовать класс XslCompiledTransform для вызова XSLT. Документация содержит множество примеров.

0 голосов
/ 25 февраля 2010
  1. Для этого и предназначен XSLT. Найденные вами примеры XML-to-HTML действительно особый случай. Очень полезный особый случай, но даже в этом случае.
  2. XSLT не безумно сложен в изучении, если у вас есть хорошая книга. Справочник программиста Майкла Кея был окончательным, но я годами не нуждался в книге по XSLT, поэтому не знаю, так ли это до сих пор.
0 голосов
/ 24 февраля 2010

Посмотрите на: XslCompiledTransform Class


        using (XmlWriter myWriter =  XmlWriter.Create("result.html"))
        {
            string xmlPath = ""; // xml to transform
            string xslPath = ""; // xsl path

            XPathDocument myXPathDoc = new XPathDocument(xmlPath);
            XslCompiledTransform xslTrans = new XslCompiledTransform();

            //load the Xsl 
            xslTrans.Load(xslPath);

            //do the actual transform of Xml
            xslTrans.Transform(myXPathDoc, null, myWriter);
        }
0 голосов
/ 24 февраля 2010

Поддержите вашего дружелюбного автора книги. Об этой теме я читал на этой неделе в книге Pro LINQ . XSLT - это то, что я никогда не думал об использовании, но я думаю, что он может понадобиться довольно скоро для преобразования XML.

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