android之dom解析xml

Android XML文件读取解析三种方式 XML文件读取解析 阅读详情

好吧,我们还是来实现这张图的效果,只不过技术我们改为了dom,至于这里的图片上为什么显示的是sax解析,我只能说,哎,没办法,我想偷懒啊。嘿嘿……再看代码结构图:

main.xml

beauties.xml

activity的代码:

其他都为默认。执行,然后就可以看到正确的结果了

----------------------------------------------------------------------------------

写博客的时候,不总结几句废话的孩子不是好孩子。所以,我决定还是说几句:

DOM解析虽然我们在android中并不推荐使用,但是这并不代表着不可以实现。dom的原理是把xml文件的各种部分都看成是节点,所有的节点因为层级关系最后形成了一颗节点树。而DOM的解析方式便是在内存中生存这棵树,并允许用户进行相关的操作。

      这里列出几个dom中经常用到的方法

Node 接口的常用方法
一个节点可以调用
short getNodeType()
方法返回一个表示节点类型的常量(Node接口规定的常量值),例如,对于Element节点,getNodeType()方法返回的值为:
Node.ELEMENT_NODE
节点可以调用
NodeList  getChildNodes()
返回一个由当前节点的所有子节点组成的NodeList对象。节点调用
Node  getFirstChild()
返回当前节点的第一个子节点。节点调用
Node  getLastChild()
返回当前节点的最后一个子节点。节点可以调用
NodeList  getTextContent()
返回当前节点及所有子孙节点中的文本内容。

还有其他的很多很多方法,我们可以通过api来详细了解。因为这里主要是为了学习android,所以关于dom稍微了解下就可以了。

 

Android-使用DOM解析与生成XML文件 /* 常用的DoM接口和类: Document    该接口定义分析并创建DOM文档的一系列方法,它是文档树的根,是操作DOM的基础。  Element             该接口继承Node接口,提供了获取、修改XML元素名字和属性的方法。 Node             该接口提供处理并获取节点和子节点值的方法。 NodeList 提供获得节点个数和当前节点的方 阅读详情

相关推荐

Android Dom解析XML

Android使用Dom方式解析XML,虽然xml文件太大时不建议用dom方式解析,但是如果文件比较小,也不失为一种选择。项目中xml放在assets文件夹下,view绑定使用butterknife

android 解析dom,Android中的DOM解析方式

1、DOM解析简介 DOM解析会将XML文件的内容,以对象树的形式存放在内存中。DOM解析采用了对象树这种形式存储,使它易于遍历,方便的知道上下层节点的情况,这是DOM解析与SAX解析最大的不同之处。SAX解析只能够知道自己节点的情况,无法得知其它节点的信息。2、DOM解析常用方法 (1)Document.getDocumentElement():返回文档的根元素(2)Node.g...

weixin_32148341的博客 846

android Dom解析xml文件

包括android代码实例以及个人对Dom解析xml文件的总结文档。

Android使用DOM解析XML文件并动态生成XML文件内容

Android使用DOM解析XML文件并动态生成XML文件内容

Qxnedy的博客 596

从零到一:用CubeMX和485模块快速上手多摩川绝对式编码器(附清零操作详解)

本文详细介绍了如何使用STM32CubeMX和485模块快速上手多摩川绝对式编码器,包括硬件连接、STM32配置、协议解析及清零操作。通过具体的代码示例和调试技巧,帮助开发者高效实现编码器数据读取和清零功能,特别适合STM32单片机开发者参考。

weixin_30599769的博客 190

影刀RPA之成绩批量查询系统

自动化登录账号,读取数据表中内容去填写信息去查询,并判断多个数据不同的页面去不同的读取查询结果内容,如考生各项信息与各科成绩,总分和查询时间,采集出来到指定的数据表格中,等待时间并依次循环运行。主要功能。

2201_75330891的博客 1082

1-3.Android 读取 XML 文件之 DOM 解析编码模板

在 Android 开发中可以使用 DOM 解析来读取 XML 文件,它提供了强大的 API

weixin_52173250的博客 1520

获取气体传感器温度调制响应数据并转换为NumPy数组

本任务旨在获取气体传感器在温度调制条件下的响应数据,将其处理为结构化数据格式(NumPy数组),以便用于机器学习模型训练。整个过程包含数据采集、预处理、特征工程和格式转换等关键步骤。

huanghm88的专栏 1207

android dom解析xml文件,Android开发之DOM解析xml文件的方法

本文实例讲述了android中dom解析xml文件的方法。分享给大家供大家参考,具体如下:一、在assets文件中写xml文件李明30李向梅25二、在service中写一个dom解析的操作package com.example.service;import java.io.inputstream;import java.util.arraylist;import java.util.list;im...

weixin_39611754的博客 304

一文搞懂STM32定时器翻转模式(产生多路频率、占空比的PWM)

(产生多路频率、占空比的PWM)

weixin_56688599的博客 7934

ENVI5.6+SARscape实战:基于哨兵一号的PS与SBAS时序InSAR地表形变监测全流程解析

本文详细解析了使用ENVI5.6和SARscape软件基于哨兵一号数据进行PS与SBAS时序InSAR地表形变监测的全流程。从数据获取、预处理到PS-InSAR和SBAS-InSAR处理,提供了实用技巧和优化建议,帮助用户高效完成地表形变监测任务。

weixin_29245767的博客 1151

Android XML解析学习——Dom方式

一.基础知识在《Android XML解析学习——Sax方式》和《Android XML解析学习——Sax方式(续)》中我们学习了在Android 平台上使用SAX的方式解析XML文档的方法。除了SAX的方式,还有一种常用的为DOM(Document Object Model文档对象模型)方式。DOM方式解析XML的过程为首先将所有 XML 文档读取到内存中,构造一个树结构,然后允许使用 DOM API 来操作整个树结构,包括遍历 XML 树、检索所需的数据等。Android平台使用Java SDK中的AP

ichliebephone的专栏 1万+

Arcgis栅格裁剪批处理工具

Arcgis栅格裁剪批处理工具

yilvyangguang520的博客 2172

Android中DOM解析XML文件

一、在assets文件中写xml文件[html] view plaincopyprint?xmlversion="1.0"encoding="UTF-8"?> persons> personid="23"> name>李明name> age>30age> person> personid="20"> name>李向梅name> age>25age> person> persons>

Fine。晨曦~-[清晨] の第一缕阳光 5714

基于 DnLUT 超高效的彩色图像去噪(CVPR 2025),本地部署 DnLUT 模型,图像去噪算法训练和推理,全网最详细教程

基于 DnLUT 超高效的彩色图像去噪(CVPR 2025),本地部署 DnLUT 模型,图像去噪算法训练和推理,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 363

实验三、数字PID控制器的设计

由图可知,由于微分环节的作用,在曲线的起始上升段出现了一个尖锐的波峰,之后曲线也呈衰减的振荡:随着Td增加,系统的超调量增大,但曲线尖锐的起始上升阶段后响应速度减慢,可以看出Td越小。对大多数算法,缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担,而对有些变化缓慢的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。随着Kp的增加,闭环系统的超调量增加,响应速度加快,控制时间加长,稳态误差减少;

m0_51738372的博客 8021

android xml dom解析,android 中 DOM解析xml

DOM方式解析文档,我们将解析后得到的数据显示在一个TextView中,代码示例:public class ActivityMain extends Activity {@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout...

weixin_34493203的博客 208

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Android之DOM解析XML

DOM方式解析XML是先把XML文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据的。如果XML文件很大的时候,处理效率就会变的很低。 用DOM解析的具体思路是: 1.将XML文件加载进来。 2.获取文档的根节点。 3.获取文档根节点中所有子节点的列表。 4.获取子节点列表中需要读取的信息。 插曲:补充一些DOM API的知识,有助于大家理解(其实和JS里找元素节点一样

Microstrong 760

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

安卓使用DOM,SAX,PULL解析xml,安卓写入xml文件

Xml简介 对Xml不太了解的同学可以看一下这篇Xml的简介:http://www.cnblogs.com/SkySoot/archive/2012/08/24/2654319.html DOM解析Xml Dom解析Xml的时候,会将Xml文件的所有内容以文件树的形式存储到内存中,然后用户通过使用DOM API遍历Xml树,检索需要的内容。 但是,因为它将文件树放在了内存中,如果文件较大的

YanRu的专栏 934

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android用dom解析xml,【Android进阶】解析XML文件之使用DOM解析器

在前面的文章中,介绍了使用SAX解析器对XML文件进行解析,SAX解析器的优点就是占用内存小。这篇文章主要介绍使用DOM解析器对XML文件进行解析。DOM解析器的优点可能是理解起来比较的直观,当然,每个人对不同的解析方法可能有不同的喜好。但是DOM解析器有个比较大的缺点,就是占用内存比较多,在Android中的XML解析中,还是更推荐其他的解析方式。下面介绍使用DOM解析器对XML进行解析。下面是...

weixin_34684880的博客 234

Android程序解析xml至文档中,Android开发之DOM解析xml文件的方法

本文实例讲述了Android中DOM解析xml文件的方法。分享给大家供大家参考,具体如下:一、在assets文件中写xml文件李明30李向梅25二、在service中写一个DOM解析的操作package com.example.service;import java.io.InputStream;import java.util.ArrayList;import java.util.List;im...

weixin_42333370的博客 208

android开发 解析xml文件,Android开发之DOM解析xml文件的方法

本文实例讲述了Android中DOM解析xml文件的方法。分享给大家供大家参考,具体如下:一、在assets文件中写xml文件李明30李向梅25二、在service中写一个DOM解析的操作package com.example.service;import java.io.InputStream;import java.util.ArrayList;import java.util.List;im...

weixin_28695903的博客 228

android xml dom解析,Android_xml 解析 dom 方法

import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c。dom。Element;im...

weixin_35012177的博客 154

Android xml之dom解析

用dom解析xml文件 步骤如下: 1、

ZengTao 790

安卓XML解析的几种方式(DOM,SAX,PULL..)

在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的优快云阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一次 ...在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个andro...

一只小翊的博客 1371

android解析xml框架,Android XML文档解析(二)——DOM解析

(二)先看一下DOM解析XML的实际效果图,其效果跟SAX解析是一样的。(三)工程源码框架(1)布局文件main_xml.xml listview_xml.xml和适配器类MySimpleAdapter都和上篇文章一样,这里就不再给出代码(2)DOMParseService.java (核心代码)package com.laolu.parser;import java.io.InputStre...

weixin_39675513的博客 291
上一篇: android之sax解析xml文件
下一篇: android自带的xml解析类分析
chenzheng_java
博客等级 码龄17年 436粉丝 106原创
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值