Рубрики
Без рубрики

Разбор XML с Python с использованием LXML.Objectify

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Пару лет назад я начал серию статей на разборе XML. Я покрыл ETREE LXML и Python включал в себя библиотеку разборочной библиотеки Minikom XML. По какой-то причине я не заметил недоумение LXML, но я видел это недавно и решил, что я должен проверить это. На мой взгляд, измерительный модуль, кажется, еще более «питон», чем Etree. Давайте возьмем некоторое время и перейдем за моими старыми примерами XML, используя объективы и посмотреть, как это другое!

Давайте начнем эту вечеринку!

Если вы еще этого не сделаете, и Скачать lxml Или вы не сможете следить очень хорошо. Как только у вас есть, мы можем продолжить. Мы будем использовать следующую часть XML для нашего разбора удовольствия:

Теперь нам нужно написать какой-нибудь код, который может анализировать и изменять XML. Давайте посмотрим на эту маленькую демонстрию, которая показывает кучу аккуратных способностей, которые предоставляют.

Кодекс довольно хорошо прокомментировал, но мы потратим немного времени, когда он все равно. Сначала мы проходим наш образец файла XML и Ограничить Это. Если вы хотите получить доступ к атрибутам тега, используйте actom имущество. Это вернет словарь атрибута тега. Чтобы добраться до элементов подтекста, вы просто используете точечную обозначение. Как вы можете видеть, чтобы добраться до начать Значение тега, мы можем просто сделать что-то вроде этого:

Если вам нужно повторять элементы детей, вы можете использовать IterChildren Отказ Возможно, вам придется использовать вложенные для Структура петли, чтобы получить все. Изменение значения элемента так же просто, как просто назначение ему новое значение. И если вам нужно создать новый элемент, просто добавьте период и имя нового элемента (см. Ниже):

Когда мы добавляем или изменим элементы, используя объект, он добавит некоторые аннотации к XML, например xmlns: py = “http://codespeak.net/lxml/objectify/pytype” Отказ Вы не хотите, чтобы это включено, поэтому вам придется позвонить следующий метод, чтобы удалить этот материал:

Вы также можете использовать «объект. Чтобы сохранить новый XML, вам действительно нужен Etree Module LXML для преобразования его в строку, чтобы вы могли сохранить его.

На данный момент вы должны уметь анализировать большинство XML-документов и эффективно редактировать их с объективом LXML. Я думал, что это было очень интуитивно понятно и легко забрать. Надеюсь, вы найдете это полезным в ваших начинаниях.

Дальше чтение