TransformNode (MSXML)

Aus API-Wiki
Version vom 17. Dezember 2011, 14:48 Uhr von 87.143.147.213 (Diskussion) (Änderung 2833 von 87.143.147.213 (Diskussion) rückgängig gemacht.)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Mit transformNode kann ein XML-Dokument mittels XSLT in einen anderen Dokumententyp umgewandelt werden.

Result = object.transformNode(stylesheet)

Parameter

object

(erforderlich) Dokument, das umgewandelt werden soll (Datentyp DOMDocument oder FreeThreadedDOMDocument).

stylesheet

(erforderlich) Dokument, das das Stylesheet enthält (Datentyp DOMDocument oder FreeThreadedDOMDocument).


Rückgabe

Result

(erforderlich) Ergebnis der Umwandlung (Datentyp String).


Hinweise

Das Ergebnis der Umwandlung muß kein HTML- oder XML-Dokument sein. So ist es zum Beispiel möglich, mittels transformNode auch ein PDF-, RTF- oder CSV-Dokument zu erstellen; je nach Zieltyp muß das XSLT-Dokument dann anders aussehen.


Beispiel

Dim strXml As String
Dim strXSLT As String
Dim objXmlFile As MSXML2.FreeThreadedDOMDocument
Dim objXSLTFile As MSXML2.FreeThreadedDOMDocument

'   Annahme: strXSLT enthält die Zeichenkette mit dem XSLT-Knotenset
Set objXSLTFile = New MSXML2.FreeThreadedDOMDocument
With objXSLTFile
    .async = False
    .validateOnParse = True
    If .loadXML(strXSLT) Then
        '   Annahme: strXml enthält die Zeichenkette mit dem XML-Knotenset
        Set objXmlFile = New MSXML2.FreeThreadedDOMDocument
        If (objXmlFile.loadXML(strXml)) Then
            '   Dokument transformieren
            Debug.Print objXmlFile.transformNode(objXSLTFile)
        Else
            Debug.Print objXmlFile.parseError.reason
        End If
        Set objXmlFile = Nothing
    Else
        Debug.Print .parseError.reason
    End If
End With
Set objXSLTFile = Nothing


Weblinks

MSDN Library: transformNode