Re: [J2SE] 使用 XSL 轉換 XML
先說推測的結論
1.4.2是不能用變形金剛...不對,是不能用XSL+XML+Transformer轉HTML的
可能他們認識的科博文還沒拍電影不夠威...不對,是版本舊可能不支援
以下是我的小實驗
代價是沒得睡
[程式碼(僅關鍵部分)]
StreamSource xsl = new StreamSource("C:/test.xsl");
Transformer trans = TransformerFactory.newInstance().newTransformer(xsl);
trans.transform(new StreamSource("C:/test.xml"),
new StreamResult("C:/test.htm"));
[test.xsl]
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="" rel="nofollow">http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
a<xsl:apply-templates/>a
</xsl:template>
</xsl:stylesheet>
[test.xml]
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<elements>
<block>p</block>
<block>h1</block>
<block>h2</block>
<block>h3</block>
<block>h4</block>
</elements>
在1.4.2_13底下
一定會有一些花花綠綠的例外跑出來例如以下幾行
javax.xml.transform.TransformerConfigurationException:
javax.xml.transform.TransformerConfigurationException:
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException:
文件根元件遺失。
at org.apache.xalan.processor.TransformerFactoryImpl.
newTransformer(Unknown Source)
at test0001a.Test0001a04.main(Test0001a04.java:20)
經過兩小時掙扎後
終於跑去裝JDK6 update 2
月蝕一換掉1.4.2_13改用1.6.0_02後
立刻正常的輸出xml出來
東西做出來都天亮...Orz
另外還有發現
好像java遇到比較奇怪的目錄也會有無法轉檔的問題
還在實驗中=x=
---
以下程式碼
StreamSource xsl = new StreamSource(fileXSL);
StreamSource src = new StreamSource(fileXML.getAbsolutePath());
StreamResult res = new StreamResult(fileHTM.getAbsolutePath());
Transformer trans = null;
trans = TransformerFactory.newInstance().newTransformer(xsl);
trans.transform(src, res);
上面黃色標明的地方
StreamSource可傳入的除String Path外, 也可傳入File Path
可是不知道為什麼xsl的部分
只要傳String Path一定會出現重要錯誤
沒圖沒真相
以下兩張有跑的時候的情形
http://photo.xuite.net/mingray/1953109/1.jpg


由圖中可以看到程式碼傳入一改, 程式立刻爛掉
似乎是蠻奇怪的情形
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.49.132
推
08/29 13:59, , 1F
08/29 13:59, 1F
※ 編輯: nosql 來自: 61.230.49.132 (08/29 14:21)
推
08/29 14:21, , 2F
08/29 14:21, 2F
推
08/30 10:58, , 3F
08/30 10:58, 3F
→
08/30 12:25, , 4F
08/30 12:25, 4F
→
08/30 12:38, , 5F
08/30 12:38, 5F
→
08/30 13:16, , 6F
08/30 13:16, 6F
→
08/30 13:20, , 7F
08/30 13:20, 7F
推
08/30 18:38, , 8F
08/30 18:38, 8F
→
08/30 18:39, , 9F
08/30 18:39, 9F
→
08/30 18:42, , 10F
08/30 18:42, 10F
→
08/31 02:54, , 11F
08/31 02:54, 11F
→
08/31 03:05, , 12F
08/31 03:05, 12F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章