使用getElementById获取xml中的指定元素

Document有一个getElementById的方法,在文档中的解释是:
    返回具有带给定值的 ID 属性的 Element。如果不存在此类元素,则此方法返回 null。如果多个元素具有带该值的 ID 属性,返回哪一个元素是不确定的。
注: 具有名称 "ID" 或 "id" 的属性不属于类型 ID,除非这样定义。
 
<root>
    <test id="test">
        haha
    </test>
</root>
上面是一个简单的xml实例,发现在java中通过getElementById("test")的方法,获取到的是一个null值,
一查询才知道,正如文档中所说,即使设置id属性,Document也是无法识别的,因为不属于类型ID
必须要在xml有相关定义。
这时就需要dtd出场了。声明一个简单的内部样式即可解决问题:
<!DOCTYPE root [
  <!ELEMENT root ANY>    
  <!ATTLIST test  id ID #REQUIRED >
]>
在xml头部加上这个,最后一行的意思是将test元素中的id属性设置为类型ID
这样,再在java执行getElementById("test")就可以获取test元素了。




转载于:https://www.cnblogs.com/xiaona/p/036e7e78ef3609d0a65e608629650f2b.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值