推 PsMonkey:之前測,xml 放在中文路徑會有問題 (@ JDK5.0) 08/29 13:59
有點簡單到沒辦法成為一篇文章的地步
需要的東西在 javax.xml.transform 這個 package 裡頭
API 上頭沒有寫 Since 資訊,我也沒有去往前查,只不過 5.0 內建就是了
於是,假設參數是...
args[0] = "C:/test/OrztO.xsl"; //xsl 檔案存放的地方
args[1] = "C:/test/Orz.xml"; //source 檔案
args[2] = "C:/test/stO.txt"; //output 檔案
然後
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer =
tFactory.newTransformer(new StreamSource(args[0]));
transformer.transform(
new StreamSource(args[1]),
new StreamResult(new FileOutputStream(args[2]))
);
你看,是不是很簡單呢... [茶]
--
侃侃長論鮮窒礙 網站:http://www.psmonkey.idv.tw
眾目睽睽無心顫 個人版:telnet://legend.twbbs.org
煢居少聊常人事
殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc)精華區 \囧/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.153.56
> -------------------------------------------------------------------------- <
作者: nosql (http://pyms.fly.to) 站內: java
標題: Re: [J2SE] 使用 XSL 轉換 XML
時間: Wed Aug 29 08:10:36 2007
先說推測的結論
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="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=
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.49.132