100165646.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 250 行 · 第 1/3 页

HTM
250
字号
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;books&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:apply-templates/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;&nbsp; </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;xsl:template match=&quot;bookstore&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:apply-templates select=&quot;book&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;xsl:template match=&quot;book&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;discbook&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;booktitle&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select=&quot;title&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;showtext&quot;&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select=&quot;bookUtil:ShowText()&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;&nbsp;&nbsp; </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 15pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&lt;/xsl:stylesheet&gt;</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">两行重要的代码已突出显示。首先,在给</span><span lang="EN-US">XsltArgumentList</span><span style="FONT-FAMILY: 宋体">添加对象时,添加了前面创建的命名空间。然后,在调用方法时,使用标准的</span><span lang="EN-US">XSLT</span><span style="FONT-FAMILY: 宋体">命名空间前缀语法。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">另一种方式是使用</span><span lang="EN-US">XSLT</span><span style="FONT-FAMILY: 宋体">脚本。可以在该样式表中包含</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> JavaScript</span><span style="FONT-FAMILY: 宋体">代码。最重要的是在</span><span lang="EN-US">Transform.Load</span><span style="FONT-FAMILY: 宋体">调用中编译该脚本,这与目前的非</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">实现不同。这样就可以执行已经编译好的脚本,与</span><span lang="EN-US">ASP.NET</span><span style="FONT-FAMILY: 宋体">的工作方式相同。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">下面对前面的</span><span lang="EN-US">XSLT</span><span style="FONT-FAMILY: 宋体">文件也进行这样的操作。首先给样式表添加脚本,在</span><span lang="EN-US">booksscript.xsl</span><span style="FONT-FAMILY: 宋体">中进行的修改如下所示:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><strong><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:user=&quot;http://wrox.com&quot;&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;msxsl:script language=&quot;C#&quot; implements-prefix=&quot;user&quot;&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string ShowText()</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;This came from the ShowText method!&quot;;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/msxsl:script&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;xsl:output method=&quot;xml&quot; indent=&quot;yes&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:template match=&quot;/&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;books&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:apply-templates/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:element&gt;&nbsp; </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;xsl:template match=&quot;bookstore&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:apply-templates select=&quot;book&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:template match=&quot;book&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;discbook&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;booktitle&quot;&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select=&quot;title&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:element FTEL=&quot;showtext&quot;&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select=&quot;user:ShowText()&quot;/&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;&nbsp;&nbsp; </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; &lt;/xsl:template&gt;</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&lt;/xsl:stylesheet&gt;</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">其中的改变已突出显示。设置脚本的命名空间,添加代码</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">可以从</span><span lang="EN-US">VS.NET IDE</span><span style="FONT-FAMILY: 宋体">中复制和粘贴</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,在样式表上执行调用。输出结果与前面示例的相同。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">总之,在进行转换时,一定要记住使用正确的</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">数据存储:如果不需要编辑功能,就使用</span><span lang="EN-US">XPathDocument</span><span style="FONT-FAMILY: 宋体">;如果要从</span><span lang="EN-US">ADO.NET</span><span style="FONT-FAMILY: 宋体">中获得数据,就使用</span><span lang="EN-US">XmlDataDocument</span><span style="FONT-FAMILY: 宋体">;如果需要编辑数据,就使用</span><span lang="EN-US">XmlDocument</span><span style="FONT-FAMILY: 宋体">。其他过程都相同。</span></p></div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165645.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165647.htm">下一页</a>
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165646.htm'><font color='red'>23.7.2  System.Xml.Xsl命名空间</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165643.htm'>23.6  在.NET中使用DOM</a></div><div style='float:right;width:49%'>·<a href='100165644.htm'>23.7  在NET中使用XPath和XSLT</a></div><div style='float:left;width:49%'>·<a href='100165645.htm'>23.7.1  System.Xml.XPath命名空间</a></div><div style='float:right;width:49%'>·<a href='100165647.htm'>23.8  XML和ADO.NET</a></div><div style='float:left;width:49%'>·<a href='100165648.htm'>23.8.1  将ADO.NET数据转换为XML文档(1)</a></div><div style='float:right;width:49%'>·<a href='100165649.htm'>23.8.1  将ADO.NET数据转换为XML文档(2)</a></div></div>
                    </div>
                </div>
                </div>
            <!-- 评论 -->
            <!-- 今日推荐 -->
            </div>
        <!-- 页脚 -->
        <div id="foot">
         <img src="../../book/readbook.aspx@node=5646&bookid=16&bookname=23.7.2++System.Xml.Xsl_25c3_25fc_25c3_25fb_25bf_25d5_25bc_25e4" alt="" width="0" height="0" />
        <style>

        </div>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?