使用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元素了。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM