我之前已经问过这类问题,但我似乎无法找到合适的词汇来自己找到答案......
我有一个XML文件,例如
<document>
<page>
<title>title1</title>
<id>1</id>
<text>this is text1</text>
</page>
<page>
<title>title2</title>
<id>2</id>
<text>this is text2</text>
</page>
<page>
<title>title3</title>
<id>3</id>
<comment>random comment</comment>
<text>this is text3</text>
</page>
</document>
我正在尝试找到一种方法,理想情况下,将标记中的每个值存储到数组中。
现在我最初尝试使用下面的代码打印所有内容,但这只会在有随机标记抛出索引的时候才会生效。那么,有没有办法简单地从标签中获取文本?或者是否绝对需要知道数组索引?
import xml.etree.ElementTree as ET
tree = ET.parse('./xml_file.xml')
root = tree.getroot()
for child in root:
print(child[2].text)
如果这是一个常见问题我很抱歉,我真的无法在网上找出任何答案。
答案 0 :(得分:3)
由于您的问题听起来似乎是想要获取特定密钥,因此您可以简单地使用invalidateIntrinsicContentSize()
来获取具有该名称的XML密钥的内容
layoutSubviews()
答案 1 :(得分:1)
import xml.etree.ElementTree as ET
tree = ET.parse('./all_foods.xml')
my_text = [item.text for item in tree.iter()]
这将为您提供所需的文本列表。如果您想要一些特定的文字,可以使用
my_tags = [item.text for item in tree.iter() if item.text == "title1"]