Как получить содержимое конкретного внука из XML-файла через Python - PullRequest
0 голосов
/ 03 ноября 2019

Привет, я новичок в программировании на Python. У меня есть XML-файл структуры:

<?xml version="1.0" encoding="UTF-8"?>
-<LidcReadMessage xsi:schemaLocation="http://www.nih.gov http://troll.rad.med.umich.edu/lidc/LidcReadMessage.xsd" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xmlns="http://www.nih.gov" uid="1.3.6.1.4.1.14519.5.2.1.6279.6001.1307390687803.0">
    -<ResponseHeader>
        <Version>1.8.1</Version>
        <MessageId>-421198203</MessageId>
        <DateRequest>2007-11-01</DateRequest>
        <TimeRequest>12:30:44</TimeRequest>
        <RequestingSite>removed</RequestingSite>
        <ServicingSite>removed</ServicingSite>
        <TaskDescription>Second unblinded read</TaskDescription>
        <CtImageFile>removed</CtImageFile>
        <SeriesInstanceUid>1.3.6.1.4.1.14519.5.2.1.6279.6001.179049373636438705059720603192</SeriesInstanceUid>
        <DateService>2008-08-18</DateService>
        <TimeService>02:05:51</TimeService>
        <ResponseDescription>1 - Reading complete</ResponseDescription>
        <StudyInstanceUID>1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630178</StudyInstanceUID>
    </ResponseHeader>
    -<readingSession>
        <annotationVersion>3.12</annotationVersion>
        <servicingRadiologistID>540461523</servicingRadiologistID>
        -<unblindedReadNodule>
            <noduleID>Nodule 001</noduleID>
            -<characteristics>
                <subtlety>5</subtlety>
                <internalStructure>1</internalStructure>
                <calcification>6</calcification>
                <sphericity>3</sphericity>
                <margin>3</margin>
                <lobulation>3</lobulation>
                <spiculation>4</spiculation>
                <texture>5</texture>
                <malignancy>5</malignancy>
            </characteristics>
            -<roi>
                <imageZposition>-125.000000 </imageZposition>
                <imageSOP_UID>1.3.6.1.4.1.14519.5.2.1.6279.6001.110383487652933113465768208719</imageSOP_UID>
                ......

Есть четыре, которые содержат несколько. Каждый содержит. Мне нужно извлечь информацию из всех этих заголовков.

Прямо сейчас я делаю это:

import xml.etree.ElementTree as ET
tree = ET.parse('069.xml')
root = tree.getroot()
#lst = []
for readingsession in root.iter('readingSession'):
    for roi in readingsession.findall('roi'):
        id = roi.findtext('imageSOP_UID')
    print(id)

, но выводится так:

Процесс завершен скод выхода 0. Если кто-то может помочь.

...