这是我今天在用DOM修改XML文件的时候遇到的问题,现在已经解决了。我将自己在网上看到的解答方式记下来,也方便大家遇到同样问题的时候,来解决啊!!!其实我也不知道那位老兄为何要这样写,但是确实能够解决问题!!
当你用dom4j,xslt报错时
javax.xml.transform.TransformerException: java.io.FileNotFoundException: file:/E:/xslt/pxgl/pxgl.xml (文件名、目录名或卷标语法不正确。)
package ht.pxgl.examroom.action; import javax.xml.transform.Source; import javax.xml.transform.Result; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import java.io.File; public class Xslt{ public static void main(String argv[]){ String src = "E://xslt//pxgl//soupxml.xml"; String dest = "E://xslt//pxgl//pxgl.xml"; String xslt = "E://xslt//pxgl//pxgl.xsl"; File src2 = new File(src); File dest3 = new File(dest); File xslt2 = new File (xslt); Source srcSource = new StreamSource(src2); Result destResult = new StreamResult(dest3.toURI().getPath());//注意:在new StreamResult();看看和我的是不是不一样 Source xsltSource = new StreamSource(xslt2); try{ TransformerFactory transFact = TransformerFactory.newInstance(); Transformer trans = transFact.newTransformer(xsltSource); trans.transform(srcSource,destResult); }catch(TransformerConfigurationException e){ e.printStackTrace(); }catch(TransformerFactoryConfigurationError e){ e.printStackTrace(); }catch(TransformerException e){ e.printStackTrace(); }
|