@nupaT

Как найти значение в XML?

Добрый день!

Необходимо при обнаружении вхождения значения в атрибуте вывести значение massResults.
Парсинг XML только начал изучать.

XML:

<?xml version="1.0" encoding="UTF-8"?>
<measCollecFile xmlns="Collec" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <fileHeader fileFormatVersion="1" Name="Massef">
        <fileSender elementType="MassGraph"/>
        <measCollec beginTime="2020-03-19T11:00:00+03:00"/>
    </fileHeader>
    <measData>
        <managedElement userLabel="MyLabels"/>
        <measInfo measInfoId="1">
            <granPeriod duration="2" endTime="2020-03-19T11:15:00+03:00"/>
            <repPeriod duration="1"/>
            <massTypes>1 2 3 </massTypes>
            <measValue measObjLdn="ID=19">
                <mass>63 63 0 </massResults>
            </measValue>
            <measValue measObjLdn="ID=11">
                <massResults>162 162 0 </massResults>
            </measValue>
            <measValue measObjLdn="ID=17">
                <massResults>145 145 0 </massResults>
            </measValue>
        </measInfo>
    </measData>
    <fileFooter>
        <measCollec endTime="2020-03-19T11:15:00+03:00"/>
    </fileFooter>
</measCollecFile>


Python:

from xml.dom import minidom
import re
xmldoc = minidom.parse('12.xml')
measValue = xmldoc.getElementsByTagName('measValue')
for s in measValue:
    if '11' in s.attributes['measObjLdn'].value:
        num = s+1
    print(xmldoc.getElementsByTagName('massResults')[num].firstChild.nodeValue)


(т.е в данном случае он должен вывести 162 162 0)
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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