直接上例子。

XML举例:

<?xml version="1.0" encoding="UTF-8"?>
<school>   //XML结构中的根节点。<student id="1"> //当前"id"为该子节点属性//以下name,age,sex,number为上子节点的子节点/属性名。<name>王</name><age>18</age><sex>男</sex><number>15</number></student><student id="2"><name>吴</name><age>20</age><number>40</number></student></school>  

下面用DOM方式对以上XML进行解析。

public class DOMxml
{public static void main(String args[]){DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();       //如上实例化DocumentBuilderFactory对象。try{DocumentBuilder db=dbf.newDocumentBuilder(); //实例化DocumentBuilder对象。try{Document doc=db.parse("略");   //加载XMLNodeList nl=doc.getElementsByTagName("student");   //根据标签名获取XML中的相应节点,返回值为NodeList对象。for(index=0;index<nl.getLength();index++){Node nd=nl.item(index);NamedNodeMap nnm=nd.getAttributes();       //获取该节点中的所有属性值(不包括子节点),返回值为NamedNodeMap对象。for(int i=0;i<nnm.getLength();i++)     //遍历属性{ Node mynewnode=nnm.item(i);mynewnode.getNodeName();   //获取属性名。mynewnode.getNodeValue();   //获取属性值。}NodeList childlist=nd.getChildNodes(); //获取该节点的所有子节点,返回值为NodeList对象。//下面对childlist进行遍历,获取每个节点的节点名和节点值。for(int nonum=0;nonum<childlist.getLength();nonum++){if(childlist.item(nonum).getNodeType()==Node.ELEMENT_NODE)  //过滤{childlist.item(nonum).getNodeName();  //获取节点名。// 方式一  childlist.item(nonum).getFirstChild().getNodeValue();获取它的第一子节点的节点值。childlist.item(nonum).getTextContent();//方式二,直接获取该节点内的所有文本内容。}   }}      }catch(SAXException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}}catch(ParserConfigurationException e){e.printStackTrace();} }}

注:当知道属性名,且该节点的属性有且只有一个时,可直接

String valval=((Element)nl.item(index)).getAttribute("id");获取属性值。

XML解析(DOM方式)相关推荐

  1. XML简介,XML和HTML的区别,XML用处,XML规则,XML约束,XML语法,XML解析,DOM

    什么是xml XML 指可扩展标记语言(EXtensible Markup Language),它的结构是一种树形的结构,必须有一个根节点 XML 是一种标记语言,很类似 HTML XML 的设计宗旨 ...

  2. XML解析---DOM解析和SAX解析

    XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. 对于XML的解析,还有 ...

  3. IOS中的XML解析方式

    XML解析 DOM方式:一次性将整个XML文档加载进内存,比较消耗内存,适合小文件,可以随机解析任何一个节点 SAX方式:从根元素开始,按顺序一个元素一个元素的往下解析,比较适合大文件,缺点;不能往回 ...

  4. 关于XML解析的常用方式

    关于XML解析的方式(个人喜爱的方式,有些不常用的就不写了) 需要的jar包 dom4j / jaxen XML示例(该文件放置于src目录下) <?xml version="1.0& ...

  5. iOS 中的 xml 解析

    在ios 中解析xml 的方法有很多种 1.苹果原生 NSXMLParser:SAX方式解析,使用简单 2.第三方框架 libxml2:纯c语言,默认包含在ios  sdk中,同时支持DOM 和 SA ...

  6. JavaXml教程(二)使用DOM方式解析XML文件

    DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象.遍历元素和节点不需要按照顺序进行. DOM解析方式适合尺寸较小的X ...

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

    在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull) ...

  8. 粤嵌学习打卡第19天(基于DOM方式解析、生成XML文档)

    今天我们来聊聊基于DOM方式实现解析和生成XML文档 一般web开发的xnl文档: 基于DOM处理XML文档 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SIQAET ...

  9. XML解析的三种方式(dom,sax,dom4j)

    1.Dom解析: 要解析的xml文件内容: <?xml version="1.0" encoding="utf-8" standalone="n ...

最新文章

  1. SMOTE算法代码实现-机器学习
  2. Google 排名第一的语言,引数十万人关注:搞定它,技术大牛都甘拜下风
  3. matlab 中的dir函数使用
  4. HarmonyOS之组件布局的创建和使用
  5. java随机星星怎么闪_canvas画随机闪烁的星星
  6. 仿照支付宝账单界面--listview分组显示 用来做!发!财树充值交易明细
  7. 认证授权方案之授权揭秘 (上篇)
  8. java.io.NotSerializableException: com.codahale.metrics.MetricRegistry
  9. 【推荐实践】微博多尺度序列推荐算法实践.pdf(附下载链接)
  10. Since WWDC released the first developer
  11. 【Transformer】没有什么多模态任务是一层Transformer解决不了的!
  12. CDN技术原理以及所用技术介绍
  13. 解决kali linux 和 win10 双系统时间不一致问题
  14. C Function Complement
  15. 高光谱知识(1)-高光谱成像技术的理解
  16. Unity 百度智能对话API
  17. 权威发布丨2022 中国开源先锋 33 人之心尖上的开源人物
  18. js数组实现图片轮播
  19. 通过IDEA进行class文件代码反编译
  20. Java日期时间的设置问题

热门文章

  1. Logistic回归-数学原理(1)机器学习实战
  2. matlab对图像频谱图分析,应用Matlab对图像信号进行频谱分析及滤波
  3. 基于Visio Studio Code打造go的IDE
  4. 如何解决vmfution 虚拟机键盘鼠标延迟问题
  5. 一本通1612特别行动队
  6. 使用opencv的透视变换裁剪倾斜人脸
  7. Unsupported SQL of `create database xxx CHARACTER SET UTF8
  8. 对数正态分布均值和方差控制着正态分布什么
  9. 卡饭PDF转换器之CAJ转换
  10. 虚拟桌面:VmwareVDI架构详解