xml解析时getElementById方法返回为null
发布时间:2020-12-16 08:40:15 所属栏目:百科 来源:网络整理
导读:Document有一个getElementById的方法,在文档中的解释是: 返回具有带给定值的 ID 属性的 Element 。如果不存在此类元素,则此方法返回 null 。如果多个元素具有带该值的 ID 属性,返回哪一个元素是不确定的。 注: 具有名称 "ID" 或 "id" 的属性不属于类型
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 [
<!ELEMENTroot ANY>
<!ATTLISTtest id ID #REQUIRED >
]>
在xml头部加上这个,最后一行的意思是将test元素中的id属性设置为类型ID
这样,再在java执行getElementById("test")就可以获取test元素了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |