假设我在包含某处的资产中有一个.svg文件
<polygon ID="collIDe" fill="none" points="45,14 0,79 3,87 18,92 87,90 98,84 96,66 59,14"/>
您认为找到此多边形并将其点解析为Points []数组的最佳方法是什么?
谢谢!
解决方法:
如上面的评论中所述,使用XML和XPath,可以轻松完成(无异常检查):
public static Point[] getPoints(String xml) throws Exception { documentBuilder db = documentBuilderFactory.newInstance().newdocumentBuilder(); document doc = db.parse(new inputSource(new StringReader(xml))); XPath xpath = XPathFactory.newInstance().newXPath(); XPathExpression expr = xpath.compile("//polygon[@ID='collIDe']/@points"); String[] pointsAttr = ((String) expr.evaluate(doc, XPathConstants.STRING)).split("\p{Space}"); Point[] points = new Point[pointsAttr.length]; for (int i = 0; i < pointsAttr.length; ++i) { String[] coordinates = pointsAttr[i].split(","); points[i] = new Point(Integer.valueOf(coordinates[0]), Integer.valueOf(coordinates[1])); } return points;}
我不知道你在AndroID上拥有什么.
总结以上是内存溢出为你收集整理的如何在Java / Android中解析SVG?全部内容,希望文章能够帮你解决如何在Java / Android中解析SVG?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)