XML文件系列一之XML结点和元素的区别


参考资料,百度文库

http://wenku.baidu.com/link?url=U79g7rt6bY4iuaQJl8cNFPtXet-vVhKL0NGje3ffi2_I2M2ZuQi4vDvcwGSgTnMFo-vKwmK__6MCsD2QarVQTpw3pExUkiqo0hr9RUuBtXS

XML元素和结点的区别:

1、区别介绍

Element是Node的扩展,所以也更实用一些。例如,用Element可以方便的获得Node的属性getAttribute(String attrName)如果用Node,可以得到一个属性集,还要进一步检索才可得到想要的属性。一个结点不一定是一个元素,而一个元素一定是一个结点。

Element是Node的子集,XmlNode表示一个节点,包括XmlElement(元素)和XmlAttribute(属性)等。 如:

<Alarmlock="true">             //node  
      <Time>                       //node  
          StringValue              //node  
      </Time>                     //node  
</Alarm>                          //node 
 
以上Alarm(元素节点),lock(属性节点),Time(元素节点),StringValue(文本节点)都是Node,但是只有 <Alarm>......</Alarm>和<Time>StringValue</Time>是Element  

 

2、具体功能实现

21如果我想取得一个Node中的Attribute,那该怎么实现呢?即:

  

  <root>  

          <data   id=data1  name=mydata></data>  

  </root>  

   

  怎样将data中的   id,name及其值取出来?

问题解释

两种方式:  
  1.先取得node 
  String   strID   =  node.getAttributes().getNamedItem("id").getNodeValue();  
  String   strName   =  node.getAttributes().getNamedItem("name").getNodeValue();  
  2.先取得element 
  String   strID   =  element.getAttribute("id");  
  String   strName   =  element.getAttribute("name");

22、我想使用一个通用的方法,将一个Element中的所有属性取出来!但事先我不知道该Element有多少个属性,并且不知道每个属性的name是什么!

问题解释

先取得node  
  NamedNodeMap   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());  
  }




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值