Я создал скрипт Python (с минидомом) для управления макетом приложения для Android, которое определено в файле XML. Виджеты - это элементы в пространстве имен android
, например:
<TextView android:id="@+id/myId" android:text="..." />
Обратите внимание на атрибут android:id
и его обязательный формат @+id/...
. Я не нашел способа выбрать этот элемент с помощью getElementById()
. Может быть, это потому, что я не знаю minidom, но, скорее всего, это потому, что я не очень хорошо понимаю пространства имен XML.
Я помню, что id
- это атрибут уникальной идентификации элемента в дереве. Я никогда не видел ID пространства имен, поэтому я предполагаю, что android:id
на самом деле не ID , а просто атрибут, который называется id
в пространстве имен android
. В этом случае нет способа getElementById
, потому что он работает с идентификаторами XML. В настоящее время я пересекаю dom и проверяю атрибут android: id, чтобы получить целевой элемент, но этот метод явно менее гибок, чем getElementById
напрямую
Отказ от ответственности: я отметил это с помощью xslt, потому что я думаю, что люди xslt могут знать ответ, так как они привыкли работать с XML и пространствами имен