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