使用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; }