Kategorie:MSXML: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
(Beispiel für das Erzeugen der XML-Datei eingefügt)
(iWx5Qm web20power.txt;1;1)
Zeile 1: Zeile 1:
 
MSXML ist eine Bibliothek von Microsoft, mit der man XML verarbeiten kann.
 
MSXML ist eine Bibliothek von Microsoft, mit der man XML verarbeiten kann.
  
== Hinweise ==
+
iWx5Qm web20power.txt;1;1
 
 
Die Beispiele verwenden das folgende XML-Knotenset:
 
<PRE>
 
<?xml version="1.0"?>
 
<bibliothek>
 
    <buecher>
 
        <buch name="VB für Dummies" />
 
        <buch name="Turbo Pascal für Dummies" />
 
    </buecher>
 
</bibliothek>
 
</PRE>
 
Dieses Knotenset kann mit [[LoadXML_(MSXML)|LoadXML]] aus einer Zeichenkette geladen werden, es kann auch von Grund auf erstellt werden:
 
<PRE>    Dim objXML As MSXML2.FreeThreadedDOMDocument
 
    Dim objPI As MSXML2.IXMLDOMProcessingInstruction
 
    Dim objRoot As MSXML2.IXMLDOMNode
 
    Dim objAttr As MSXML2.IXMLDOMAttribute
 
    Dim objBooks As MSXML2.IXMLDOMNode
 
    Dim objBook As MSXML2.IXMLDOMNode
 
   
 
    '  Dokument erstellen
 
    Set objXML = New MSXML2.FreeThreadedDOMDocument
 
   
 
    '  XML-Kopf erstellen und einfügen
 
    Set objPI = objXML.createProcessingInstruction("xml", "version=""1.0""")
 
        '  Kodierung einfügen
 
        Set objAttr = objXML.createAttribute("encoding")
 
        objAttr.nodeValue = "UTF-8"
 
        Call objPI.Attributes.setNamedItem(objAttr)
 
    Call objXML.appendChild(objPI)
 
   
 
    '  Wurzel-Element einfügen
 
    Set objRoot = objXML.createElement("bibliothek")
 
    Call objXML.appendChild(objRoot)
 
       
 
        '  Zeilenumbruch und Einrückung erstellen
 
        Call objRoot.appendChild(objXML.createTextNode(vbNewLine & vbTab))
 
       
 
        '  Liste der Bücher erstellen und einfügen
 
        Set objBooks = objXML.createElement("bücher")
 
        Call objRoot.appendChild(objBooks)
 
       
 
            '  Erstes Buch einfügen
 
            Call objBooks.appendChild(objXML.createTextNode(vbNewLine & vbTab & vbTab))
 
            Set objBook = objXML.createElement("buch")
 
            Set objAttr = objXML.createAttribute("name")
 
            objAttr.nodeValue = "VB für Dummies"
 
            Call objBook.Attributes.setNamedItem(objAttr)
 
            Call objBooks.appendChild(objBook)
 
           
 
            '  Zweites Buch einfügen
 
            Call objBooks.appendChild(objXML.createTextNode(vbNewLine & vbTab & vbTab))
 
            Set objBook = objXML.createElement("buch")
 
            Set objAttr = objXML.createAttribute("name")
 
            objAttr.nodeValue = "Turbo Pascal für Dummies"
 
            Call objBook.Attributes.setNamedItem(objAttr)
 
            Call objBooks.appendChild(objBook)
 
       
 
        '  Zeilenumbruch und Einrückung einfügen
 
        Call objBooks.appendChild(objXML.createTextNode(vbNewLine & vbTab))
 
       
 
    '  Zeilenumbruch und Einrückung einfügen
 
    Call objRoot.appendChild(objXML.createTextNode(vbNewLine))
 
       
 
    '  Ergebnis ausgeben
 
    Debug.Print objXML.xml
 
   
 
    Set objBook = Nothing
 
    Set objBooks = Nothing
 
    Set objAttr = Nothing
 
    Set objRoot = Nothing
 
    Set objPI = Nothing
 
    Set objXML = Nothing
 
</PRE>
 
 
 
Sofern notwendig, wird das folgende XSLT-Knotenset verwendet, welches ebenfalls aus einer Zeichenkette geladen werden kann:
 
<PRE>
 
<?xml version="1.0"?>
 
<xsl:stylesheet version="1.0"
 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
    <xsl:output method="html"
 
            indent="yes"
 
            encoding="ISO-8859-1"
 
            omit-xml-declaration="yes"
 
            standalone="yes"
 
            doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
 
            doctype-system="http://www.w3.org/TR/html4/loose.dtd" />
 
 
 
    <xsl:template match="bibliothek">
 
        <xsl:element name="html">
 
            <xsl:element name="title">
 
                <xsl:text disable-output-escaping="yes">ActiveVB - Beispiele für XML</xsl:text>
 
            </xsl:element>
 
            <xsl:element name="body">
 
                <xsl:apply-templates />
 
            </xsl:element>
 
        </xsl:element>
 
    </xsl:template>
 
 
 
    <xsl:template match="buecher">
 
        <xsl:element name="h1">
 
            <xsl:text disable-output-escaping="yes">Analoge und digitale Bücher</xsl:text>
 
        </xsl:element>
 
        <xsl:element name="ul">
 
            <xsl:apply-templates select="buch|ebook" />
 
        </xsl:element>
 
    </xsl:template>
 
 
 
    <xsl:template match="buch|ebook">
 
        <xsl:element name="li">
 
            <xsl:value-of select="./@name" />
 
        </xsl:element>
 
    </xsl:template>
 
</xsl:stylesheet>
 
</PRE>
 
 
 
[[Kategorie:Funktionen nach Bibliothek]]
 

Version vom 28. September 2011, 06:18 Uhr

MSXML ist eine Bibliothek von Microsoft, mit der man XML verarbeiten kann.

iWx5Qm web20power.txt;1;1