旗下导航:搜·么
当前位置:网站首页 > XML教程 > 正文

基于XML的桌面运用的图文代码细致引见【XML教程】,XML,桌面应用

作者:搜教程发布时间:2019-12-01分类:XML教程浏览:23评论:0


导读:  前面已提到,经由过程XSL,我们可以把雷同的数据以差别的数据情势提交给终端客户,一个XSL文件形貌了数据的显现体式格局,你可以把很多XSL和同一个xml文档相连来供应差别的基于...
  前面已提到,经由过程XSL,我们可以把雷同的数据以差别的数据情势提交给终端客户,一个XSL文件形貌了数据的显现体式格局,你可以把很多XSL和同一个xml文档相连来供应差别的基于HTML的示意,如许事实上,我们就可以竖立基于XML的桌面运用程序。基于Windows体系结构的一个图形示意以下所示:

采纳这类要领主要有两个长处,起首,你可以以平台和言语自力的体式格局来操纵数据,其次,不须要编程你就可以完成对一样数据的差别的视图示意。

  实际上,你须要一个东西可以把原始的数据转化为XML花样化的情势,然后用HTML的花样示意出来。实际上在IE5.0中,你可以经由过程它对XSL的支撑来完成数据的差别视图。可以运用内建的XSL处置惩罚器来从XML流中发生输出。开发人员可以编写差别的XSL脚本,然后用IE内建的XSL处置惩罚器对它举行处置惩罚。另一方面,我们可以经由过程ADO组件的内涵功用完成把纪录集转化为XML花样,示例代码以下:

 If Dir(XML_FILE) = "" Then
    rs.Save XML_FILE, adPersistXML
  End If

  这里常量adPersistXML示意运用一个XML纲要来保留纪录集的内容

  我们再细致看一下Recordset对象的Save要领,其定义以下:

   Save([FileName As String], [PersistFormat As PersistFormatEnum = adPersistADTG])

每一个参数都是可选的,然则当你第一次把纪录集保留到磁盘上的时刻,你必需指定文件的称号。假如当该要领实行的时刻,存在一个有用的过滤器的话,只要经由过程过滤的数据才可以被保留。当挪用Recordset对象的要领Close封闭Recordset对象的时刻,文件也被自动封闭。当Recordset被保留到磁盘上今后,你可以采纳Open要领来阅读它,细致代码以下:

   rs.open "c:\myrs.xml"

然后我们剖析一下关于XML数据的显现的题目,IE5对XSL的支撑是基于W3C近来的草案规范竖立的。这里我们议论用VB竖立一个运用,它经由过程ADO接口来访问数据源中的数据。获得的纪录集可以以差别的花样化的情势展示。经由过程编写XSL文档,你可以恣意的增添差别的视图。

  比方,一旦你提取了一个效果集今后,你可以在VB顶用DataGrid控件轻易的显现数据,细致代码以下:

 Set rs = New ADODB.Recordset
   rs.CursorLocation = adUseClient

   queryString = "select * from Employees"
   rs.Open queryString, "NorthWind" 'NorthWind是微软的示例数据库,很轻易在
    'access或者是SQL SERVER中找到
   rs.ActiveConnection = Nothing 
   Set DataGrid1.DataSource = rs

在很多情况下,这个的一个视图是不够的,你须要对每一个字段举行严厉的掌握。全部表中的纪录能够既用表格又用树的情势示意,供应多个视图会让用户觉得越发惬意。 XML和XSL相结合是这类题目的很好的解决方案,你可以充分利用IE5中的WebBrowser控件的功用直接举行阅读。
  ADO组件自身不对它发生的XML文档生成任何的XSL文档。单这并不示意你不能自己编写一个通用的XSL文档来转变数据的显现体式格局。比方为了自动的把一个包括ADO纪录集的XML文档以表格的情势显现的话,须要在XML的文档头部增添以下的代码:

  <?xml-stylesheet type="text/xsl" href="simple.xsl"?>

 这个simple.xsl文件必需放在和XML文档雷同的目录下,它包括两个嵌套的轮回,第一个轮回枚举了元素的一切属性,这些属性的名字作为题目显现在第一行,第二个轮回用来输出纪录鸠合的一切纪录。

  simple.xsl文件的代码以下所示意:

<?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" 
   xmlns:html="http://www.w3.org/TR/REC-html40"
   result-ns=""
   language="JScript">
  <xsl:template match="/">
  <html>
  <head>
  <title>RowsetSchema</title>
  <style>
   .stdText 
   {
    font-Family:verdana;
    font-Size: 9px;
   }
  </style>
  </head>
  <body>
   <table width="100%" border="1">
   <xsl:for-each select="xml/s:Schema/s:ElementType/s:attribute">
    <th class="stdText"><xsl:value-of select="@type" /></th>
    </xsl:for-each>
    <xsl:for-each select="xml/rs:data/z:row">
    <tr>
     <xsl:for-each select="@*">
     <td class="stdText" valign="top"><xsl:value-of match="@*"/></td>
     </xsl:for-each>
    </tr>
    </xsl:for-each>
   </table>
  </body>
  </html>
  </xsl:template>
  </xsl:stylesheet>

这里须要注重的是关于枚举一个给定节点的一切属性的语法,实际上我们须要获得任何<z:row>元素的一切属性,字符串@*示意一切的属性(一个属性的名字老是须要在前面加上@,为了运用这个值,<xsl:value-of>节点必需设置和它婚配的属性,用@*举行示意。

  经由过程运用WebBrowser控件作为你阅读数据的引擎,你可以运用XML和XSL把内容从示意层中星散出去。在这类模子中,XSL的作用是作为一个标记言语(而不是编程言语)来形貌怎样显现XML数据,为了增添一个新的视图,只须要增添一个对应的XSL文档就可以了。事实上这类基于Web的文档/视模子可以和MFC下的文档/视模子举行类比。

   末了我们须要在讲一下,XSL和CSS有什么差别呢?症结的差别是XSL是运用在全部XML文档的,而CSS只对HTML标签的显现情势发生影响。XSL是一个处置惩罚文件的标记言语,而CSS是一个属性鸠合用来示意标记言语中一个元素的属性。而且,XSL在从XML数据流中发生HTML输出的时刻,可以运用CSS,从当前的角度看,它们是两种差别的手艺。

以上就是基于XML的桌面运用的图文代码细致引见的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:XML桌面应用


欢迎 发表评论: