java中XML元素和节点的区别

java中XML元素和节点的区别

一、概念

1、元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素。
这里写图片描述
一个元素一定是一个结点,但是一个结点不一定是一个元素。
2、什么是node?
NODE是相对TREE这种数据结构而言的。TREE就是由NODE组成。这个部分你可以参考离散数学的树图。
node有几个子类型:Element, Text, Attribute, RootElement, Comment, Namespace等
3、什么是element?
ELEMENT则是XML里的概念,例如就是元素,是XML中的数据的组成部分之一。

二、具体区别分析

1、区别介绍 Element是Node的扩展,所以也更实用一些。例如,用Element可以方便的获得Node的属性getAttribute(String attrName)如果用Node,可以得到一个属性集,还要进一步检索才可得到想要的属性。一个结点不一定是一个元素,而一个元素一定是一个结点。 Element是Node的子集,XmlNode表示一个节点,包括XmlElement(元素)和XmlAttribute(属性)等。

二、具体区别分析

1、区别介绍 Element是Node的扩展,所以也更实用一些。例如,用Element可以方便的获得Node的属性getAttribute(String attrName)如果用Node,可以得到一个属性集,还要进一步检索才可得到想要的属性。一个结点不一定是一个元素,而一个元素一定是一个结点。 Element是Node的子集,XmlNode表示一个节点,包括XmlElement(元素)和XmlAttribute(属性)等。
这里写图片描述这里写图片描述
三、具体功能实现
这里写图片描述
(1)先取得nodeString strID = node.getAttributes().getNamedItem(“id”).getNodeValue(); String strName = node.getAttributes().getNamedItem(“name”).getNodeValue();

(2)先取得elementString strID = element.getAttribute(“id”);
String strName = element.getAttribute(“name”);

2、想使用一个通用的方法,将一个Element中的所有属性取出来。但不知道该Element有多少个属性,并且不知道每个属性的name是什么。
nodeNamedNodeMap nnm = node.getAttributes();
for(int i=0;i < nnm.getLength();i++){
System.out.println(nnm.item(i).getNodeName());
System.out.println(nnm.item(i).getNodeValue());
}

本篇博文是小白我在大神的肩膀上,吸收整理出来的。衷心感谢大神们的无私奉献、厚薄积发的精神,这种品质给我们小白在技术上的成长带来了很大的帮助。
参考:
http://a52071453.iteye.com/blog/1697817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值