如上面的注释中所述,使用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 解析 svg_如何解析Java / Android中的SVG?相关推荐

  1. Android中使用SVG实现炫酷动画效果

    前言 SVG,即Scalable Vector Graphics 可伸缩矢量图形.这种图像格式在前端中已经使用的非常广泛,而在移动端的开发中,遇到一些复杂的自定义控件或者动画效果,我们就可以考虑使用S ...

  2. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  3. 【Android 安装包优化】Android 中使用 SVG 图片 ( SVG 矢量图简介 | Android 中生成 Vector 矢量图资源 )

    文章目录 一.SVG 矢量图简介 二.Android 中生成 Vector 矢量图资源 三.参考资料 一.SVG 矢量图简介 Android SVG 参考文档 : https://developer. ...

  4. android 使用动态的svg资源,在Android中使用SVG作为资源 – victor

    victor 在Android中使用SVG作为资源. 使用这个插件,你可以为SVG定义源文件,它们将会自动在build中光栅化/导入,无需源代码. 安装 在build.gradle中添加: build ...

  5. java 自定义函数的调用_Java/Android中的函数调用回调函数自定义回调函数

    在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都 ...

  6. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

  7. java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....

    Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;imp ...

  8. Android png模拟svg,Android 中使用svg图片

    1. svg认识 SVG:android5.0+出现,w3c推出 使用xml 描述二维图形语言,矢量图,放大缩小无影响 为什么用svg,现在手机的短板是内存,不是cpu,svg通过cpu计算,png占 ...

  9. android中读取svg文件,Android如何加载SVG格式的矢量图

    为何要加载SVG图片 相对于.JPG和.PNG甚至.webp的图片来说,SVG的图片有两个优点,第一:省空间,APK瘦身有一个方面就是从图片瘦身,使用SVG图片可以大量减轻程序的大小.第二:省时间,切 ...

  10. java 扫描包框架_在Android中实现类似Spring的软件包扫描

    我正在尝试为component- scan我正在开发的Android框架实施类似于Spring的软件包扫描功能.基本上,我希望能够指定基本包,例如,com.foo.bar并检索Class具有特定批注的 ...

最新文章

  1. iOS--MD5加密封装
  2. Android4.0 Launcher 源码分析系列(二)
  3. 也许MVC不该重写Url格式?
  4. RIP学习---网络工程
  5. 【趣话编程】一个Java对象的回忆录:垃圾回收
  6. 网络协议:TCP/IP、SOCKET、HTTP
  7. echarts 3d地球 背面光线太暗_新技术:多波长光源,同时3D打印多种光敏树脂材料...
  8. ithoughts怎么自定义样式_Word 表格样式,用过的人可能都会遇到这个问题
  9. JVM(2)--OutOfMemoryError实战
  10. 使用Pack200压缩你的代码
  11. SQL SERVER 备份数据库到指定路径语句
  12. BZOJ 3326 [SCOI2013]数数 (数位DP)
  13. psql 命令行使用
  14. 最牛ai波士顿动力上台阶_波士顿动力的位置如何使美国成为人工智能的关键参与者...
  15. diskpart clean误操作数据恢复
  16. 面试中面试官问的一些问题总结
  17. JAVA启动杀怒尖塔_杀戮尖塔如何修改class 杀戮尖塔修改class文件方法步骤图解
  18. 使用74LS160设计六进制计数器
  19. 金三银四,中高级测试面经,第二波来袭!
  20. 2021-08-09-ROS学习-消息创建,发布者和订阅者实现及测试

热门文章

  1. Mybatis mapper代理开发方法实现增删改查
  2. 一卡通充值系统c语言,一卡通充值,一卡通充值中心,一卡通充值系统,一卡通充值转账系统 - 新开普(NewCapec)...
  3. keras中使用ImageDataGenerator对MINST数据集数据增强
  4. C语言中错误c213是什么意思,DS1302的错误:error c213
  5. python循环语句for 循环十次_Python 循环 while,for语句
  6. 虚拟机命令里面的光标不动了怎么办_Linux Sever简单笔记(第四堂课)之Linux下的文本编辑器vim(vim中常用的操作方式命令) - 我杨晓东太难了...
  7. pyqt一个text实时显示另一个text的内容_python:基于tkinter打造的股票实时监控声音报警器! 自动监控,声音警报...
  8. ce 修改 java游戏_CE6.4.3修改器加强版 CE加强版 可过NP的和众多游戏的CE修改器 - 下载 - 搜珍网...
  9. cocos2d 屏幕適配_cocos2dx 3.2 屏幕适配的理解
  10. 柱状图如何添加数字标签_分类堆叠柱状图顺序排列及其添加合适条块标签