Java解析svg文件,将获Element转换成String

// 解析svg
    public static String parseSVG(String svgURI) throws Exception {

        File file = new File(svgURI);
        String parser = XMLResourceDescriptor.getXMLParserClassName();
        SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
        Document doc = f.createDocument(file.toURI().toString());

        Element element = doc.getElementById("72617072");

        String elementStr = convertElemToSVG(element);

        System.out.println(elementStr);

        return elementStr;
    }

    // 将element转换成字符串
    public static String convertElemToSVG(Element element) {
        TransformerFactory transFactory = TransformerFactory.newInstance();
        Transformer transformer = null;
        try {
            transformer = transFactory.newTransformer();
        } catch (TransformerConfigurationException e) {
            e.printStackTrace();
        }
        StringWriter buffer = new StringWriter();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        try {
            transformer.transform(new DOMSource(element), new StreamResult(buffer));
        } catch (TransformerException e) {
            e.printStackTrace();
        }
        String elementStr = buffer.toString();
        return elementStr;
    }


经验分享 程序员 微信小程序 职场和发展