我对XAML非常陌生,想了解使用Python从XAML文件提取数据的方式(我知道XML模块的基本用法)。 例如,其中一行是:
<Variable x:TypeArguments="sd:DataTable" Name="Yoko_Hara" />
从上一行,我要提取此变量的名称。
我尝试了以下代码并获得空输出:
> from xml.etree import cElementTree as ET
>
> data = ET.parse("inputfile/main.xaml")
> root = data.getroot()
> for elem in root.iter('Variable'):
> print(elem.text)
答案 0 :(得分:3)
您需要使用属性(即名称)来访问它
使用
print(elem.attrib['Name'])
代替
print(elem.text)
答案 1 :(得分:2)
原因是因为您试图获取文本,即开始标签和结束标签之间的值。给出以下内容:
<Variable Name="somename">Text</Variable>
elem.text
产生“文本”。
您实际需要的是属性部分,可以像这样访问:
from xml.etree import cElementTree as ET
data = ET.parse("inputfile/main.xaml")
root = data.getroot()
for elem in root.iter('Variable'):
print(elem.attrib['Name'])