论坛首页 编程语言技术论坛

XSLT的使用

浏览 2632 次
锁定老帖子 主题:XSLT的使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-28  

 

    XSLT是一种将XML文档转换为其他文本文档的语言,是建立在XML和XPath之上的国际标准,内容比较多,功能强大。

 

    对于编程人员来说,XSLT可以看作以前序遍历的方式专门处理XML树状结构的标记语言。以前编程根据XML文档输出纯文本数据时需要写代码以前序遍历方式的方式遍历XML文档对象组成的树状结构,对于每一个特定名称或特定层次的XML节点而输出不同的内容,这个过程比较复杂,代码量大,需用进行很多的状态判断。而XSLT则使用一种简洁明了的标记语言实现了相同的逻辑。因此XSLT从程序逻辑的角度看类似支持递归的编程语言,而且是专门处理XML文档的。

 

    XSLT转换过程会涉及到三个文本文档,一个是要处理的原始XML文档,第二个就是XSLT样式表文档,该文档包含了XSLT代码,XSLT代码本身就是XML格式,但使用了XML的名称空间。第三个就是XSLT处理输出的文本文档,注意,此处输出的是纯文本文档,这个文档具体是什么格式完全靠XSLT代码来决定,可以是另外一个XML文档,HTML文档,SQL语句字符串或者其他任意格式的字符串数据等等,XSLT转换只能输出纯文本文档,此外就没有限制输出文档的具体格式。

 

     程序实例:

static void Main(string[] args)

        {

 

            //XSLT模版

    string strXSLRef = "F:\\TestXSLT.xml";

            if (strXSLRef != null && strXSLRef.Length > 0)

            {

 

                XslCompiledTransform xslt = new XslCompiledTransform();

                xslt.Load(strXSLRef);

 

                // Create the writer.

                XmlWriterSettings settings = new XmlWriterSettings();

                settings.Indent = true;

                settings.IndentChars = "\t";

                XmlWriter writer = XmlWriter.Create("F:\\TestOutput.html", settings);

 

// Create the reader.

                XmlReader reader = XmlReader.Create("F:\\Test.xml");

                reader.MoveToContent();

 

                // Execute the transformation.

                xslt.Transform(reader, writer);

                writer.Close();

                reader.Close();

            }

        }

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics