Kategorie:MSXML
Aus API-Wiki
Version vom 30. August 2007, 10:03 Uhr von Helge Rex (Diskussion | Beiträge) (Beispiel für das Erzeugen der XML-Datei eingefügt)
MSXML ist eine Bibliothek von Microsoft, mit der man XML verarbeiten kann.
Hinweise
Die Beispiele verwenden das folgende XML-Knotenset:
<?xml version="1.0"?> <bibliothek> <buecher> <buch name="VB für Dummies" /> <buch name="Turbo Pascal für Dummies" /> </buecher> </bibliothek>
Dieses Knotenset kann mit LoadXML aus einer Zeichenkette geladen werden, es kann auch von Grund auf erstellt werden:
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
Sofern notwendig, wird das folgende XSLT-Knotenset verwendet, welches ebenfalls aus einer Zeichenkette geladen werden kann:
<?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>
Seiten in der Kategorie „MSXML“
Folgende 9 Seiten sind in dieser Kategorie, von 9 insgesamt.