У меня есть XML-файл, который мне нужно проанализировать.Это ниже: Он называется "fttk.xml"
<root>
<ls>
this is the ls
<a>
this is the ls -a
</a>
<l>
this is the ls -l
</l>
</ls>
<dd>
this is the dd
<a>
this is the dd -a
</a>
<l>
this is the dd -l
</l>
</dd>
</root>
Довольно просто.Я хочу иметь возможность печатать текст в тегах "ls" или "dd".Затем распечатайте теги под ними, если они указаны.
До сих пор мне удавалось найти тег «ls» или «dd» в XML и распечатать текст внутри тега.Я сделал это с помощью этого кода:
import xml.etree.ElementTree as ET
command = "ls"
fttkXML = ET.parse('fttk.xml') #parse the xml file into an elementtree
findCommand = fttkXML.find(command) #find the command in the elementtree
if findCommand != None:
print (findCommand.text) #prints that tag's text
С этим я сэкономил все между тегами "ls" ... "/ ls".Теперь я хочу найти два флага («a» и «l») под ними, если они указаны, и распечатать их.Теги представлены в виде списка следующим образом:
switches = ["a", "l"]
Однако я попытался найти в ElementTree что-то, что позволило бы мне искать эти теги из списка и распечатывать их отдельно, однако,команды 'find' и 'findall' для ElementTree или Element возвращают «список неприменимых типов», когда я пытаюсь передать ему список «переключателей».
Итак, как мне искать список тегов?и распечатать текст для каждого тега?
Спасибо за ваше время.
С наилучшими пожеланиями, J