Анализ файла Google Earth KML в Python (lxml, пространства имен)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Анализ файла Google Earth KML в Python (lxml, пространства имен)

Сообщение Anonymous »

Я пытаюсь проанализировать файл .kml в Python с помощью модуля xml (после того, как мне не удалось сделать это в BeautifulSoup, который я использую для HTML).

Поскольку я делаю это впервые, я следовал официальному руководству, и все идет хорошо, пока я не попытаюсь создать итератор для извлечения моих данных путем корневой итерации:

р>

Код: Выделить всё

from lxml import etree
tree=etree.parse('kmlfile')
Вот пример из руководства, которому я пытаюсь подражать:


Если вы знаете, что вас интересует только один тег, вы можете передать его имя в getiterator(), чтобы он отфильтровал вас:

Код: Выделить всё

for element in root.getiterator("child"):
print element.tag, '-', element.text

Мне хотелось бы получить все данные под меткой, поэтому я попробовал

Код: Выделить всё

for i in tree.getiterterator("Placemark"):
print i, type(i)
что мне ничего не дает. Что работает:

Код: Выделить всё

for i in tree.getiterterator("{http://www.opengis.net/kml/2.2}Placemark"):
print i, type(i)
Я не понимаю, как это происходит. www.opengis.net указан в теге в начале документа (kml xmlns="http://www.opengis.net/kml/2.2"...), но я не понимаю
  • как часть в {} вообще связана с моим конкретным примером
  • чем он отличается от руководство
  • и что я делаю неправильно
Любая помощь очень ценится !

Подробнее здесь: https://stackoverflow.com/questions/381 ... namespaces
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»