簡體   English   中英

Java DOM:NO名稱空間中元素的getElementsByTagNameNS

[英]Java DOM : getElementsByTagNameNS for an element in NO namespace

我注意到,當與支持名稱空間的DocumentBuilderFactory

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("sample.xml"));

在對getElementsByTagNameNS的調用中使用null或零長度字符串""將產生具有提供的localName的元素,這些元素完全不在 NO名稱空間中(不包括具有localName的元素可能位於名稱空間中):

NodeList foo1 = doc.getElementsByTagNameNS(null, "localname");
NodeList foo2 = doc.getElementsByTagNameNS(""  , "localname");

但是, Element :: getElementsByTagNameNS的(不可鏈接) Javadoc模棱兩可,並且沒有明確提到可以將空指針或零長度字符串用於無命名空間元素。 我可以依靠這種行為嗎?

DOM通常對“未命名名稱空間”使用null。 這在某些方法中是明確的。 但是,如果不在規范中,則不能依靠它。 (大多數編寫DOM應用程序的人只能對一種DOM實現進行測試,當發現它們僅適用於該實現時,他們可能會感到討厭)。

不使用DOM的另一個原因-還有更好的選擇!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM