Удалить произвольный Attr из NamedNodeMap независимо от поддержки пространства имен - PullRequest
0 голосов
/ 28 апреля 2019

Используя 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)?

...