Android -XML 解析

9.xml语言介绍
    xml是什么     xml是w3c这个组织研发的.xml指可扩展(标签可以自己定义student)标记(标签)语言
    xml有什么用   
         ①可以描述现实生活中的数据
         ②可以作为应用程序的配置文件 比如android工程的布局文件.
         ③作为应用程序传输的数据格式
    xml怎么用 
         常见的码表  assic --->iso-8859-1--->gbk gb2312(收录汉字不一样多)--->utf-8;
         ①直接使用eclipse创建既可  
         ②文档声明 <?xml version="1.0" encoding="UTF-8"?>
         ③ xml对大小写敏感   开始标签和结束标签成对出现 xml必须有且仅有一个根标签  属性值必须加引号
         ④ xml中注释   <!-- -->
         ⑤ cdata区里面的内容不会被解析器解析 
10.xml解析技术介绍
          1.dom   特点:把整个xml文件加载到内存中,会在内存中形成一颗树形结构.
                        优点:可以进行增删改查逻辑
                        缺点:会造成内存溢出.
          2.sax
                        特点:一行一行解析 边解析边释放.
                        优点:它不会造成内存溢出 
                        缺点:它只能查,不能实现增 删  改.
          3.xmlpull 是android中内置解析器. 它解析原理 类似sax.
          4.  xmlpull 代码实现    
       ☆ ☆ 由于xmlpull解析技术是android的技术所以这个技术默认只能在android工程中使用.
 
 
  1. @Test
  2. public void xmlpullParser2() throws Exception{
  3. //1.创建xml解析器的工厂 通过查看api文档得知
  4. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  5. //2.通过工厂的实例 获取xml解析器
  6. XmlPullParser parser = factory.newPullParser();
  7. //3.告诉解析器要解析哪个文件
  8. parser.setInput(new FileInputStream("bookstore.xml"), "utf-8");
  9. //4.获取要解析文件的事件类型 sax是基于事件解决
  10. int eventType = parser.getEventType();
  11. //5.通过循环来解析xml文件 没有解析到文件结尾就一直解析 1阅读性查
  12. while(eventType!= XmlPullParser.END_DOCUMENT){
  13. if ("name".equals(parser.getName())) {
  14. String name = parser.nextText();
  15. System.out.println("name:"+name);
  16. }else if ("price".equals(parser.getName())) {
  17. String price = parser.nextText();
  18. System.out.println("price:"+price);
  19. }
  20. eventType = parser.next();
  21. }
  22. }
              5.把解析出来的数据封装到集合List. 为什么要封装到集合里.目的就是为了方便展示信息.
 
 
  1. @Test
  2. public void xmlpullParser3() throws Exception {
  3. // 0.创建一个集合 javabean entity
  4. List<Book> lists = null;
  5. Book book = null;
  6. // 1.创建xml解析器的工厂 通过查看api文档得知
  7. XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
  8. // 2.通过工厂的实例 获取xml解析器
  9. XmlPullParser parser = factory.newPullParser();
  10. // 3.告诉解析器要解析哪个文件
  11. parser.setInput(new FileInputStream("bookstore.xml"), "utf-8");
  12. // 4.获取要解析文件的事件类型 sax是基于事件解决
  13. int eventType = parser.getEventType();
  14. // 5.通过循环来解析xml文件 没有解析到文件结尾就一直解析 1阅读性查
  15. while (eventType != XmlPullParser.END_DOCUMENT) {
  16. // 6.具体判断一下到底解析的是开始标签还是结束标签
  17. switch (eventType) {
  18. case XmlPullParser.START_TAG: //代表解析的是开始标签
  19. //6.1 具体判断一下到底是哪个开始标签
  20. if ("bookstore".equals(parser.getName())) {
  21. //6.2 初始化list集合
  22. lists = new ArrayList<>();
  23. }else if ("book".equals(parser.getName())) {
  24. //6.3创建book对象
  25. book = new Book();
  26. }else if ("name".equals(parser.getName())) {
  27. //6.4 获取name对应数据
  28. String name = parser.nextText();
  29. book.setName(name);
  30. }else if ("price".equals(parser.getName())) {
  31. //6.4 获取name对应数据
  32. String price = parser.nextText();
  33. book.setPrice(price);
  34. }
  35. break;
  36. case XmlPullParser.END_TAG: //代表解析的是结束标签
  37. if ("book".equals(parser.getName())) {
  38. //6.5 把book对象加入到list集合
  39. lists.add(book);
  40. }
  41. break;
  42. }
  43. //不停的解析
  44. eventType = parser.next();
  45. }
  46. //7 当while循环结束后 我们看list集合里面有几本书
  47. for (Book book2 : lists) {
  48. System.out.println(book2);
  49. }
  50. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值