How to convert XML to something else using xslt st

2020-03-26 12:54发布

问题:

How to convert XML to something else using xslt stylesheet?

In C++ C# PHP or ActionScript?

For example I have this html2wiki xslt stylesheet I want to send to my programm my XML (in this case HTML file ) and get back a file (in this case Wiki mark up text )

So How to translate one text file into another text file using XSLT stylesheet in any language?

回答1:

Pseudocode:

Load SOURCE file as XML
Load STYLESHEET file as XML
Apply STYLESHEET to SOURCE, generating RESULT
Write RESULT out to file as XML


回答2:

In Python, libxml and libxslt are my personal choices for this kind of functionality.


(Edit) Here is a simple example of performing a transformation using libxml and libxslt:

#!/usr/bin/python

import sys
import libxml2
import libxslt


def getXSLT(xsl_filename):
    # parse the stylesheet xml file into doc object
    styledoc = libxml2.parseFile(xsl_filename)

    # process the doc object as xslt
    style = libxslt.parseStylesheetDoc(styledoc)

    return style


if __name__ == '__main__':
    style = getXSLT("stylesheet.xsl")
    doc = libxml2.parseFile("data.xml")
    result = style.applyStylesheet(doc, None)

    print result


回答3:

here is an example using C and libxslt: http://xmlsoft.org/XSLT/tutorial/libxslttutorial.html



回答4:

In .NET, you may want to look at this article. In C++, you can use Xalan-C++. Xalan-C++ even has some handy examples of how to use it.



回答5:

in PHP take a look at this

DomXsltStylesheet->process
and also read the last note at the bottom which has a working example ...



回答6:

W3Schools has my favorite XSLT tutorial ..

http://www.w3schools.com/xsl/

Good luck!



回答7:

The correct library in Python now is lxml. Please see this answer on StackOverflow. It is similar syntax, and you wont have issues in installing it.