Изменение чего-либо в файле build.gradle будет повторно синхронизировать все снова, и ошибка исчезнет. Для меня я изменил minSdkVersion, и он сработал. Не беспокойтесь, это может произойти, если система потерпела крах или Android Studio не была закрыта должным образом.
Использование:
//*[namespace-uri()='yourNamespaceURI-here'
or
@*[namespace-uri()='yourNamespaceURI-here']
]
предикат два условия являются или-редактором с оператором XPath or
.
выражение XPath таким образом выбирает любой элемент что любой :
или
Не уверенный, если это - то, что Вы имеете в виду, но только удаляя 1 символ в Вашем XPath, Вы получаете все элементы в определенном пространстве имен:
//*[namespace-uri()='http://foo.example.com']
Вы могли попробовать
//*[namespace-uri()='http://foo.example.com' or @*[namespace-uri()='http://foo.example.com']]
, Это даст Вам элемент foo:bar и штучка элемента (если Вы изменитесь tal:quux
на foo:quux
в Ваших данных XML):
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:foo="http://foo.example.com" xmlns:tal="xxx">
<foo:bar quux="value">Content</foo:bar>
<widget>Content</widget>
<doodah foo:quux="value">Content</doodah>
</root>
это, что Вы хотите?
РЕДАКТИРОВАНИЕ : Спасибо за определение ошибки атрибута, исправленной теперь.
Ваше выражение XPath почти прекрасно. Вместо того, чтобы просить атрибуты "" просят элементы" ", и это должно работать:
"//*[namespace-uri()='http://foo.example.com']"