Получение атрибутов с использованием minidom в Python, используется свойство «attributes». например node.attributes["id"].value
python xml.dom.minidom.Attr question
Так что если у меня есть <a id="foo"></a>
, это должно дать мне "foo"
. node.attributes["id"]
не возвращает значение именованного атрибута, но экземпляр xml.dom.minidom.Attr
. Но, глядя на помощь для Attr
, делая help('xml.dom.minidom.Attr')
, никуда это волшебство "value"
свойство упомянуто. Мне нравится изучать API, глядя на иерархию типов, методы экземпляра и т. Д. Откуда взялось это свойство "value"
? Почему он не указан на странице класса Attr
? Единственными указанными дескрипторами данных являются isId
, localName
и schemaType
. Его также не унаследовали от каких-либо суперклассов. Поскольку я новичок в Python, будут ли просвещены некоторые из гуру Python?
Спасибо. ElementTree слишком отличается от XML DOM-обработки, к которой я привык на других языках, поэтому пошел с мини-министром. Страница help (xml.dom.minidom.Attr) не указала nodeValue в разделах «унаследованные от» или «xml.dom.Node», хотя она явно унаследована. Есть ли способ проверить (как в отражении) классы и типы Python, не полагаясь на страницы документации «help», которые предпочитают выборочно пропускать ключевые (public!) Свойства или методы? – rudy
@rudy, 'inspect.getmembers (atr)' покажет вам все 65 атрибутов и методов (в виде пар '(name, value)') объекта 'atr'. Конечно, вы можете быть более избирательным. –
Grrreat! Только то, что мне было нужно. Спасибо, Алекс! – rudy