Используя Java 11, скажем, я вызываю метод XML DOM Element.getAttributes()
и получаю NamedNodeMap
.Допустим, я передаю NamedNodeMap
некоторому служебному методу, который просматривает атрибуты, но не имеет доступа к исходному Element
.
. В моем служебном методе, скажем, я хочу удалитьнекоторый произвольный атрибут attr
из экземпляра namedNodeMap
.Как я мог это сделать?
Я мог бы позвонить namedNodeMap.removeNamedItemNS(attr.getNamespaceURI(), attr.getLocalName())
, и я предполагаю, что это будет работать с деревом DOM, полученным из анализатора пространства имен.Но будет ли оно работать и с деревом DOM, не поддерживающим пространство имен?
Или вместо этого я должен вызвать namedNodeMap.removeNamedItemNS(attr.getNodeName())
?Будет ли это работать с DOM с поддержкой пространства имен?
Есть ли какой-либо другой предпочтительный способ удаления узла атрибута из карты именованных узлов?Или это единственный способ сделать ссылку на исходный Element
и позвонить element.removeAttributeNode(attr)
?