如何在JavaAndroid中解析SVG?

如何在JavaAndroid中解析SVG?,第1张

概述假设我在包含某处的资产中有一个.svg文件<polygonid="collide"fill="none"points="45,140,793,8718,9287,9098,8496,6659,14"/>您认为找到此多边形并将其点解析为Points[]数组的最佳方法是什么?谢谢!解决方法:如上面的评论中所述,使用XML和XPath,可以轻松完成(无异常

假设我在包含某处的资产中有一个.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?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1109776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存