使用Python从XAML提取数据

2024-09-30 16:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我对XAMLs非常陌生,想知道如何使用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)

Tags: 模块文件数据用法datarootxmlsd
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'])

您需要使用属性即Name来访问它

使用

print(elem.attrib['Name']) 

而不是

print(elem.text)

相关问题 更多 >