從這個問題晴續:XSLT: CSV (or Flat File, or Plain Text) to XML撒克遜在Java中:XSLT的CSV到XML
所以,我有一個XSLT從這裏:http://andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html
,並將其轉換爲CSV文件到XML文檔。
在命令行上的以下命令一起使用時它這樣做是Java的罐子saxon9he.jar -xsl:CSV到xml.csv - 它:主-o:的Output.xml
所以現在問題變成:我該如何在Java代碼中執行此操作?
現在我有代碼看起來像這樣:(該Transformer
是net.sf.saxon.Controller
一個實例)
TransformerFactory transformerFactory = TransformerFactory.newInstance();
StreamSource xsltSource = new StreamSource(new File("location/of/csv-to-xml.xsl"));
Transformer transformer = transformerFactory.newTransformer(xsltSource);
StringWriter stringWriter = new StringWriter();
transformer.transform(documentSource, new StreamResult(stringWriter));
String transformedDocument = stringWriter.toString().trim();
在命令行上的訣竅是指定「 - 它:主「指向XSLT中的指定模板。這意味着您不必爲源文件提供「-s」標誌。
該問題從Java端再次啓動。在哪裏/如何指定這個「-it:main」?這樣做會不會破壞其他不需要指定的XSLT?我是否必須在每個XSLT文件「main?」中命名每個模板?鑑於Transformer.transform()的方法簽名,I 有來指定源文件,所以這並不能擊敗我在計算這個東西時所取得的所有進展嗎?
編輯:我發現隱藏在saxon9he.jar中的s9api,如果有人正在尋找它。