DOM解析器

DOM解析器(六)

2013-2-21阅读366 评论0

       Attr节点

       在XML文件中,属性并不是标记的子标记,因此,在DOM规范中,Att节点也不是Element节点的子节点。


        如果想解析XML文件中标记的属性,必须让对应的Element节点调用NamedNodeMap getAttributes()方法。该方法返回的NamedNodeMap对象由节点组成,这些节点可以被转换为Attr节点。Attr节点通过调用String getName()方法返回属性的名字,调用String getValue()方法返回属性的值。

 



       处理空白 

       标记之间的缩进区域是为了使得XML文件看起来更美观而形成的,但解析器并不知道这一点,所以解析器仍然认为它们是有用的文本数据(由空白类字符组成)     

        人们习惯上称标记之间的缩进区是可忽略空白,这实际上不是很准确,因为XML文件的标记可以有文本和子标记(混合内容),在这种情况下,标记之间的区域中就可能包含非空白的字符内容。
        如果我们不允许标记有混合内容,即标记要么只有子标记要么只有文本,在这种情形下,称标记之间的缩进区域是可忽略空白就比较恰当,这些空白区确实使得XML文件看起来更加美观,也是它们存在的惟一目的。


        如果想让DOM解析器忽略缩进空白,即这些缩进空白不在Document中形成Text节点,那么XML文件必须是有效的,而且所关联的DTD文件必须规定XML文件的标记不能有混合内容,同时DocumentBuilderFactory对象在给出DOM解析器之前,必须调用setIgnoringElementContentWhitespace(boolean whitespace)进行设置,将参数whitespace的值设为true。 


       验证规范性和有效性

        通过DocumentBuilderFactory对象factory事先设置是否检查XML文件的有效性,如:factory.setValidating(true);


以上内容参考  耿祥义  出版的 XML基础教程(清华大学出版社) ,然后整理修改而成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值