如何使用Python将字符串与映射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=

我想从XML文件映射一个值

<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我在这里发布了我的另一个问题,如果你不介意的话,请帮我查一下。非常感谢:)