XML не читается Python

Есть заданная форма xml. Внешняя часть выглядит так

И дальше этой части он не читает, хотя есть множество вложений. Если убрать всю информацию во внешней части он начинает читать все остальные вложения. Как считывать XML без потери информации во внешней части? Использую ElementTree

Так информация после name не считывается и при print(getroot) выводит <Element '{name3/name.xsd}name' at 0x0000000002A35720>

<name xmlns="gogle/name.xsd" xmlns:xsi="name2.org/2001/XMLSchema-instance" xsi:schemaLocation="name3/name.xsd"> 
    <Craft>315</Craft> 
    <StartingSIP>95</StartingSIP> 
    <StartingSIPTime>2021-09-23T10:03:55</StartingSIPTime> 
    <Starting>1356</Starting>
    <Sessions> ...... </Sessions> 
</name>

Если сделать так весь остальной xml считывается

<name> 
    <Craft>315</Craft> 
    <StartingSIP>95</StartingSIP> 
    <StartingSIPTime>2021-09-23T10:03:55</StartingSIPTime> 
    <Starting>1356</Starting>
    <Sessions> ...... </Sessions> 
</name>

trees = ET.parse(filename)

    root = trees.getroot()

    for i in root:
        print(i)

и выводит он

<Element 'Craft' at 0x0000000002A95EA0>
<Element 'StartingSIP' at 0x0000000002A95DB0>
<Element 'StartingSIPTime' at 0x0000000002A95770>
<Element 'Starting' at 0x0000000002A95C20>
<Element 'Sessions' at 0x0000000002A95B80>

Ответы (1 шт):

Автор решения: Edward Grachev
from lxml import etree

xml_raw = """<name xmlns="gogle/name.xsd" xmlns:xsi="name2.org/2001/XMLSchema-instance" xsi:schemaLocation="name3/name.xsd">
    <Craft>315</Craft>
    <StartingSIP>95</StartingSIP>
    <StartingSIPTime>2021-09-23T10:03:55</StartingSIPTime>
    <Starting>1356</Starting>
    <Sessions> ...... </Sessions>
</name>"""
root = etree.fromstring(xml_raw)
for elem in root.getchildren():
    if not elem.text:
        text = "None"
    else:
        text = elem.text
    print(elem.tag + " => " + text)

Вывод: {gogle/name.xsd}Craft => 315

{gogle/name.xsd}StartingSIP => 95

{gogle/name.xsd}StartingSIPTime => 2021-09-23T10:03:55

{gogle/name.xsd}Starting => 1356

{gogle/name.xsd}Sessions => ......

import xml.etree.ElementTree as ET

tree = ET.parse('1.xml')
root = tree.getroot()
for child in root:
    print(child.tag, child.text)

Вывод: {gogle/name.xsd}Craft 315

{gogle/name.xsd}StartingSIP 95

{gogle/name.xsd}StartingSIPTime 2021-09-23T10:03:55

{gogle/name.xsd}Starting 1356

{gogle/name.xsd}Sessions ......

1.xml

<name xmlns="gogle/name.xsd" xmlns:xsi="name2.org/2001/XMLSchema-instance" xsi:schemaLocation="name3/name.xsd">
    <Craft>315</Craft>
    <StartingSIP>95</StartingSIP>
    <StartingSIPTime>2021-09-23T10:03:55</StartingSIPTime>
    <Starting>1356</Starting>
    <Sessions> ...... </Sessions>
</name>
→ Ссылка