xml 去掉验证方式

public class Convertor {

    public static void main(String[] args) throws Exception {
        final boolean validateEnabled = true;
        ClassLoader cl = Convertor.class.getClassLoader();
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer = tFactory.newTransformer(new StreamSource("test.xsl"));
        transformer.setOutputProperty("indent", "yes");
        transformer.setOutputProperty("encoding", "UTF-8");
        InputStream is = cl.getResourceAsStream("domain.xml");

        Source source = null;
        DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = fac.newDocumentBuilder();
        builder.setEntityResolver(new EntityResolver() {
            public InputSource resolveEntity(String publicId, String systemId)
                    throws SAXException, IOException {
                if (validateEnabled)
                    // 不验证
                    return new InputSource(new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"));
                else
                    // 根据DTD本地验证
                    return new InputSource("./test.dtd");
            }
        });
        Document doc = builder.parse(is);
        source = new DOMSource(doc);
//        source = new StreamSource(is);

        StringWriter result = new StringWriter();
        transformer.transform(source, new StreamResult(result));
//        transformer.transform(source, new StreamResult(new File("dest.xml")));
        System.out.println(result.toString());
    }
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/quqi99/archive/2009/11/03/4757437.aspx

你可能感兴趣的:(xml,.net,Blog,XSL)