Kategorie:MSXML
Aus API-Wiki
Version vom 24. November 2011, 11:39 Uhr von Jochen Wierum (Diskussion | Beiträge) (Änderungen von 109.73.68.18 (Diskussion) rückgängig gemacht und letzte Version von Jochen Wierum wiederhergestellt)
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.