У меня есть XML со следующей структурой:XPath поиска элемента по значению детской
<?xml version="1.0" encoding="iso-8859-2"?>
<partners>
<partner>
<id>001</id>
...
</partner>
<partner>
<id>002</id>
...
</partner>
...
</partners>
Я хочу найти партнера с заданным идентификатором, с помощью XPath. Я использую python xml.etree, но в этом случае это может быть неактуально. До сих пор я пытаюсь: './partner[/id = "001"]'
найти партнера, который имеет идентификатор = 001
:
for e in doc.findall('./partner[/id = "001"]'): print e
и это вызывает ошибку синтаксиса SyntaxError: expected path separator ([)
, полный трассировку стека:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/xml/etree/ElementTree.py", line 647, in findall
return self._root.findall(path)
File "/usr/lib/python2.6/xml/etree/ElementTree.py", line 355, in findall
return ElementPath.findall(self, path)
File "/usr/lib/python2.6/xml/etree/ElementPath.py", line 198, in findall
return _compile(path).findall(element)
File "/usr/lib/python2.6/xml/etree/ElementPath.py", line 176, in _compile
p = Path(path)
File "/usr/lib/python2.6/xml/etree/ElementPath.py", line 93, in __init__
"expected path separator (%s)" % (op or tag)
SyntaxError: expected path separator ([)
Может кто-нибудь мне точку Что я делаю не так?
редактировать: Я боюсь, что это связано с версией Python 2.6.8 используется. В этом случае документы немного отличаются: https://docs.python.org/release/2.6.8/library/xml.etree.elementtree.html. И нет, я не могу обновить версию python, к сожалению ...
К счастью, у меня установлен этот модуль на сервере, над которым я должен работать. Работает отлично! – ducin