如何使用Python将字符串与映射xml标记相匹配?
我想从XML文件映射一个值如何使用Python将字符串与映射xml标记相匹配?,python,string,mapping,match,Python,String,Mapping,Match,我想从XML文件映射一个值 <Country> <number no="2008" info="update"> <detail name="man1" class="A1\X4"> <string name="ruth" /> <string name=
<Country>
<number no="2008" info="update">
<detail name="man1" class="A1\X4">
<string name="ruth" />
<string name="amy" />
</detail>
<detail name="man2" class="A2">
<string name="lisa" />
<string name="graham" />
</detail>
</number>
</Country>
仅当stringno=“A1\X4”
的。但是如果stringno='A1'
,我需要映射它。python中是否有任何匹配函数来解决此问题?可能-像或-包含
谢谢您提供的信息。您好,使用迭代法怎么样
完整代码
将xml.etree.ElementTree作为ET导入
tree=ET.parse('myXml.xml')
root=tree.getroot()
stringno='A1'
对于root.findall('number')中的族:
对于族中的元素:
如果elem.get('class')中的stringno:
打印('no:{},name:{},class:{})。格式(family.get('no')、elem.get('name')、elem.get('class'))
输入
no: 2008, name: man1, class: A1\X4
no: 2009, name: man1, class: A1\X5
myXml.xml
输出
no: 2008, name: man1, class: A1\X4
no: 2009, name: man1, class: A1\X5
hi@Abhi_J我试过了,但它返回了一个错误TypeError:类型为'NoneType'的参数不可编辑
hi@Cheries我现在已经包含了我的完整代码和输入文件。如果仍然出现错误,您可以共享发生错误的行。您的xml文件的结构是否与我的不同。我还尝试了你在问题中提供的输入,结果正如预期的那样。是的,问题解决了。谢谢@Abhi_J我在这里发布了我的另一个问题,如果你不介意的话,请帮我查一下。非常感谢:)