以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 怎么将现有的xslt作用于根据url得到的xml (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=69545) |
-- 作者:czq0119 -- 发布时间:11/17/2008 9:26:00 PM -- 怎么将现有的xslt作用于根据url得到的xml 现在有一个写好的xslt,有一个url。如何实现将xslt作用于根据url得到的xml文档,最终生成一个 xml文档? |
-- 作者:hexun831012 -- 发布时间:11/18/2008 11:45:00 AM -- xsl:import + document() |
-- 作者:Qr -- 发布时间:11/18/2008 12:02:00 PM -- dom的transformNodeToObject,这个只适合IE,其它浏览器也有相应的函数。 |
-- 作者:czq0119 -- 发布时间:11/18/2008 5:21:00 PM -- 非常谢谢两位! 我后来使用了一种方法,是可以用的,只是笨了点: 首先,根据url得到xml 字符串。 其次,把指令<?xml-stylesheet href="wfs.xsl" type="text/xsl" ?>加到xml 字符串中。 再次,将xml 字符串中转换成InputStream。 接着,将InputStream转换成Source。 再接着,将要转换的xml(现在Source),和xslt(现在Source)进行转换。 最后,输出结果。 String content = ""; String sCurrentLine = ""; try{ //首先,根据url得到xml 字符串。 URL urlString = new URL(url); HttpURLConnection connection = (HttpURLConnection) urlString.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); while ((sCurrentLine = reader.readLine()) != null) { content += sCurrentLine; } //其次,把指令<?xml-stylesheet href="wfs.xsl" type="text/xsl" ?>加到xml 字符串中。 int indexNum = content.indexOf(">"); sCurrentLine = ""; sCurrentLine = content.substring(0, indexNum+1); sCurrentLine += "<?xml-stylesheet href=\"wfs.xsl\" type=\"text/xsl\"?>"; sCurrentLine += content.substring(indexNum+1, content.length()); //再次,将xml 字符串中转换成InputStream。 InputStream mm = new ByteArrayInputStream(sCurrentLine.getBytes()); //接着,将InputStream转换成Source Source xmlsource = new StreamSource(mm); //再接着,将要转换的xml(现在Source),和xslt(现在Source)进行转换 File xsltFile = new File(xslFile); Source xsltSource = new StreamSource(xsltFile); TransformerFactory transFact = TransformerFactory.newInstance(); Transformer trans = transFact.newTransformer(xsltSource); //最后,输出结果 StreamResult sr=new StreamResult(outputFile); trans.transform(xmlsource, sr); }catch(Exception e){ e.printStackTrace(); } |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |