Смущен использованием XPath или нет - PullRequest
1 голос
/ 21 июня 2010

Это следует из моих предыдущих вопросов об использовании lxml и Python.

У меня есть вопрос, когда у меня есть выбор между использованием методов, предоставляемых lxml.etree, и тем, где я могу использовать XPathчто я должен использовать?

Например, чтобы получить список всех тегов X в XML-документе, я мог бы либо выполнить итерацию по нему, используя getiterator() из lxml.etree, либо написать выражение XPath: //x.

Может быть еще много примеров, это только один.Вопрос в том, что делать, когда у меня есть выбор и почему?

1 Ответ

1 голос
/ 21 июня 2010

XPath обычно предпочтительнее явной итерации по элементам.XPath более лаконичен и, скорее всего, будет быстрее, поскольку он реализован внутри механизма XML.

Вы можете использовать явную итерацию, если существуют сложные критерии, которые не могут быть выражены легко (или вообще) в XPath, или если вам все равно нужно было посетить все узлы для какой-либо другой обработки, или если вы хотите получить расширенные выходные данные отладки.

...