Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in den grafischen Code XML-basierter Desktop-Anwendungen

Detaillierte Einführung in den grafischen Code XML-basierter Desktop-Anwendungen

黄舟
黄舟Original
2017-03-06 16:48:031771Durchsuche

Wie bereits erwähnt, können wir über XSL dieselben Daten in verschiedenen Datenformen an Endkunden übermitteln. Eine XSL-Datei beschreibt die Anzeigemethode der Daten. Sie können viele XSLs mit demselben XML-Dokument verbinden, um unterschiedliche HTML-Dateien bereitzustellen. basierte Darstellungen, so dass wir tatsächlich XML-basierte Desktop-Anwendungen erstellen können. Eine grafische Darstellung basierend auf der Windows-Architektur sieht folgendermaßen aus:

Detaillierte Einführung in den grafischen Code XML-basierter Desktop-Anwendungen

Die Verwendung dieses Ansatzes bietet zwei Hauptvorteile: Erstens können Sie plattform- und sprachunabhängig arbeiten. Daten, zweitens können Sie ohne Programmierung unterschiedliche Ansichtsdarstellungen derselben Daten implementieren.

Eigentlich benötigen Sie ein Tool, das die Originaldaten in das XML-Format konvertieren und sie dann im HTML-Format ausdrücken kann. Tatsächlich können Sie in IE5.0 durch die Unterstützung von XSL unterschiedliche Ansichten von Daten erreichen. Sie können den integrierten XSL-Prozessor verwenden, um eine Ausgabe aus einem XML-Stream zu erstellen. Entwickler können verschiedene XSL-Skripte schreiben und diese dann mit dem integrierten XSL-Prozessor des IE verarbeiten. Andererseits können wir den Datensatz über die inhärenten Funktionen der ADO-Komponente in das XML-Format konvertieren. Der Beispielcode lautet wie folgt:

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

  这里常量adPersistXML表示使用一个XML纲要来保存记录集的内容

  我们再仔细看一下Recordset对象的Save方法,其定义如下:

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

Jeder Parameter ist optional, aber beim ersten Speichern Um das Recordset auf die Festplatte zu kopieren, müssen Sie einen Dateinamen angeben. Wenn beim Ausführen dieser Methode ein gültiger Filter vorhanden ist, können nur Daten gespeichert werden, die den Filter bestehen. Wenn die Methode Close des Recordset-Objekts aufgerufen wird, um das Recordset-Objekt zu schließen, wird die Datei automatisch geschlossen. Nachdem das Recordset auf der Festplatte gespeichert wurde, können Sie es mit der Open-Methode lesen. Der spezifische Code lautet wie folgt:

   rs.open "c:\myrs.xml"

Anschließend analysieren wir das Problem der Unterstützung von IE5 XSL basiert auf dem neuesten Standardentwurf des W3C. Hier diskutieren wir die Verwendung von VB zum Erstellen einer Anwendung, die über die ADO-Schnittstelle auf Daten in der Datenquelle zugreift. Der resultierende Datensatz kann in verschiedenen Formaten angezeigt werden. Durch das Schreiben von XSL-Dokumenten können Sie nach Belieben verschiedene Ansichten hinzufügen.

Sobald Sie beispielsweise eine Ergebnismenge extrahiert haben, können Sie das DataGrid-Steuerelement in VB verwenden, um die Daten bequem anzuzeigen. Der spezifische Code lautet wie folgt:

 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

In vielen Fällen Diese Eine Ansicht reicht nicht aus, Sie benötigen eine strikte Kontrolle über jedes Feld. Die Datensätze in der gesamten Tabelle können sowohl in Tabellen- als auch in Baumform dargestellt werden. Durch die Bereitstellung mehrerer Ansichten fühlen sich Benutzer wohler. Die Kombination von XML und XSL ist eine gute Lösung für dieses Problem. Sie können die Funktionalität des WebBrowser-Steuerelements im IE5 für das direkte Browsen voll ausnutzen.
Die ADO-Komponente selbst generiert aus den von ihr generierten XML-Dokumenten keine XSL-Dokumente. Das bedeutet nicht, dass Sie nicht selbst ein generisches XSL-Dokument schreiben können, um die Art und Weise zu ändern, wie die Daten angezeigt werden. Um beispielsweise ein XML-Dokument, das einen ADO-Eintragssatz enthält, automatisch in Tabellenform anzuzeigen, müssen Sie den folgenden Code zum Kopf des XML-Dokuments hinzufügen:

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

Diese einfache.xsl-Datei muss Es wird zwischen und im selben Verzeichnis wie das XML-Dokument platziert. Die erste Schleife zählt alle Attribute des Elements auf. Die Namen dieser Attribute werden als Titel in der ersten Zeile angezeigt das Recordset.

Der Code der simple.xsl-Datei lautet wie folgt:

<?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>

Was hier beachtet werden muss, ist die Syntax zum Aufzählen aller Attribute eines bestimmten Knotens. Tatsächlich benötigen wir Um alle -Attribute des Elements zu erhalten, stellt die Zeichenfolge @* alle Attribute dar (dem Namen eines Attributs muss immer ein @ vorangestellt werden. Um diesen Wert zu verwenden, muss der Der Knoten muss das entsprechende Attribut festlegen, dargestellt durch @*. Indem Sie das WebBrowser-Steuerelement als Engine zum Durchsuchen Ihrer Daten verwenden, können Sie den Inhalt von der Präsentationsebene trennen In diesem Modell ist die Rolle von XSL wie folgt: Eine Auszeichnungssprache (und keine Programmiersprache), um zu beschreiben, wie XML-Daten angezeigt werden. Um eine neue Ansicht hinzuzufügen, müssen Sie lediglich ein entsprechendes XSL-Dokument hinzufügen. Dieses webbasierte Dokument-/Ansichtsmodell kann unter MFC verwendet werden.

Was ist schließlich der Unterschied zwischen XSL und CSS? Der Hauptunterschied besteht darin, dass XSL auf das gesamte XML-Dokument angewendet wird, während CSS nur HTML-Tags anzeigt . Form hat Auswirkungen. XSL ist eine Auszeichnungssprache für die Verarbeitung von Dokumenten, und CSS ist eine Reihe von Attributen, die zur Darstellung der Attribute eines Elements in der Auszeichnungssprache verwendet werden. Darüber hinaus kann XSL beim Generieren einer HTML-Ausgabe aus einem XML-Datenstrom verwendet werden . Aus heutiger Sicht handelt es sich um zwei verschiedene Technologien. Das Obige ist eine detaillierte Einführung in den grafischen Code von XML-basierten Desktop-Anwendungen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website .php.cn). )

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn