Задать вопрос
@evgeh4ik

Как распарсить xml python?

Здравствуйте!
Ребята, подскажите, каким образом можно корректно распарить xml документ при помощи PYTHON?
Только начинаю, и не могу найти хорошего примера.
Хотелось бы разобраться на практике с комментариями.

Вот мой документ - defaultVar.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<repository xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://www.tibco.com/xmlns/repo/types/2002">
  <globalVariables>
    <globalVariable>
      <name>Host</name>
      <value>10.64.13.131:1576</value>
      <deploymentSettable>true</deploymentSettable>
      <serviceSettable>false</serviceSettable>
      <type>String</type>
      <modTime>1559628965605</modTime>
    </globalVariable>
    <globalVariable>
      <name>MaxConnections</name>
      <value>10</value>
      <deploymentSettable>true</deploymentSettable>
      <serviceSettable>false</serviceSettable>
      <type>Integer</type>
      <modTime>1559628965605</modTime>
    </globalVariable>
    <globalVariable>
      <name>SID</name>
      <value>taffy</value>
      <deploymentSettable>true</deploymentSettable>
      <serviceSettable>false</serviceSettable>
      <type>String</type>
      <modTime>1559628965605</modTime>
    </globalVariable>
  </globalVariables>
</repository>


Может ли кто-то показать, каким образом выбирать тэги SID, HOST (а так же все их атрибуты!).
Совсем не доходит голова. Если можно, то с комментариями.
Спасибо!
  • Вопрос задан
  • 4688 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@FulTupFul
Удалил xmlns для более простого парсинга
Использую стандартную либу идущую с питоном
import xml.etree.ElementTree as ET
tree = ET.fromstring("xml_string") # or ET.parse("path_to_xml_file")
for element in tree.findall("globalVariables/globalVariable"):  # or tree.findall('globalVariables/globalVariable/name')
    name = element.find("name")
    print(element.tag, name.text, element.attrib)

Но лучше читайте документацию: https://docs.python.org/3.7/library/xml.etree.elem...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы