我注意到当与命名空间感知一起使用时DocumentBuilderFactory
:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new File("sample.xml"));
在调用中使用 anull
或零长度字符串将生成具有提供的localName的元素,这些元素根本不在 NO 命名空间中(不包括可能在命名空间中的具有该localName的元素):""
getElementsByTagNameNS
NodeList foo1 = doc.getElementsByTagNameNS(null, "localname");
NodeList foo2 = doc.getElementsByTagNameNS("" , "localname");
但是,Element::getElementsByTagNameNS的(不可链接的)Javadoc相当含糊,并且没有明确提到空指针或零长度字符串可用于非命名空间元素。我可以依靠这种行为吗?