在c#中将xml文档结构从一个转换为另一个

时间:2010-02-24 05:22:15

标签: c# xml xslt

目前我在应用中有一个xml结构。我需要将它从一个结构转换为另一个结构。我有它的xsds。该应用程序在C#中。我当然想到使用好的旧编码来转换它,但这听起来像是效率最低的想法。有人建议我使用XSLT,但我不能100%确定它是如何工作的。

有谁知道如何使用XSLT将xml结构转换为另一种?例子是尼斯。或者还有其他任何可以做得更好的免费应用程序吗?

感谢。

4 个答案:

答案 0 :(得分:1)

您可以使用XslCompiledTransform类来调用XSLT。 documentation有很多例子。

答案 1 :(得分:0)

查看: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);
        }

答案 2 :(得分:0)

  1. 这就是XSLT的用途。您找到的XML到HTML示例实际上是一个特例。一个非常有用的特例,但即便如此。
  2. 如果你有一本好书,XSLT并不是很难学。 Michael Kay的 XSLT程序员参考过去是确定的,但我多年来都不需要一本关于XSLT的书,所以我不知道它是否仍然存在。

答案 3 :(得分:-1)

支持您友好的图书作者。我本周在Pro LINQ一书中读到了这个主题。 XSLT是我从未考虑使用的东西,但我认为我很快就需要它来进行XML转换。